use Getopt::Long (); # GLD uses it anyway, doesn't hurt
use constant HAVE_GLD => not not eval { require Getopt::Long::Descriptive };
-our $VERSION = '0.14';
+our $VERSION = '0.18';
our $AUTHORITY = 'cpan:STEVAN';
has ARGV => (is => 'rw', isa => 'ArrayRef', metaclass => "NoGetopt");
$class->new(
ARGV => $processed{argv_copy},
extra_argv => $processed{argv},
- @params, # explicit params to ->new
+ %$constructor_params, # explicit params to ->new
%$params, # params from CLI
);
}
$_->name !~ /^_/
} grep {
!$_->does('MooseX::Getopt::Meta::Attribute::Trait::NoGetopt')
- } $class->meta->compute_all_applicable_attributes
+ } $class->meta->get_all_attributes
}
sub _get_cmd_flags_for_attr {
my $opt_string = join(q{|}, $flag, @aliases);
- if ($attr->has_type_constraint) {
- my $type_name = $attr->type_constraint->name;
- if (MooseX::Getopt::OptionTypeMap->has_option_type($type_name)) {
- $opt_string .= MooseX::Getopt::OptionTypeMap->get_option_type($type_name)
+ if ($attr->name eq 'configfile') {
+ $opt_string .= '=s';
+ }
+ elsif ($attr->has_type_constraint) {
+ my $type = $attr->type_constraint;
+ if (MooseX::Getopt::OptionTypeMap->has_option_type($type)) {
+ $opt_string .= MooseX::Getopt::OptionTypeMap->get_option_type($type)
}
}