X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FGetopt.pm;fp=lib%2FMooseX%2FGetopt.pm;h=08bf0373776d54611fc8ea54c757c2fd3766d800;hb=f2dfa116d68debe3d78919269774ff700f90ea2f;hp=90a9d774f70a19b8915c63a0b41ea3cd6c1868ec;hpb=ec78e900b6b7c5ff8b7b985eec81e06f32914bc1;p=gitmo%2FMooseX-Getopt.git diff --git a/lib/MooseX/Getopt.pm b/lib/MooseX/Getopt.pm index 90a9d77..08bf037 100644 --- a/lib/MooseX/Getopt.pm +++ b/lib/MooseX/Getopt.pm @@ -31,6 +31,11 @@ sub new_with_options { if(!defined $configfile) { my $cfmeta = $class->meta->find_attribute_by_name('configfile'); $configfile = $cfmeta->default if $cfmeta->has_default; + if (ref $configfile eq 'CODE') { + # not sure theres a lot you can do with the class and may break some assumptions + # warn? + $configfile = &$configfile($class); + } if (defined $configfile) { $config_from_file = eval { $class->get_config_from_file($configfile);