| MouseX-Getopt documentation | Contained in the MouseX-Getopt distribution. |
MouseX::Getopt::Dashes - convert underscores in attribute names to dashes
package My::App;
use Mouse;
with 'MouseX::Getopt::Dashes';
# Will be called as --some-thingy, not --some_thingy
has 'some_thingy' => (
is => 'ro',
isa => 'Str',
default => 'foo'
);
# Will be called as --another_thingy, not --another-thingy
has 'another_thingy' => (
traits => [ 'Getopt' ],
cmd_flag => 'another_thingy'
is => 'ro',
isa => 'Str',
default => 'foo'
);
# use as MouseX::Getopt
This is a version of MouseX::Getopt which converts underscores in
attribute names to dashes when generating command line flags.
You can selectively disable this on a per-attribute basis by supplying
a cmd_flag argument with
the command flag you'd like for a given attribute. No underscore to
dash replacement will be done on the cmd_flag.
This software is copyright (c) 2010 by Infinity Interactive, Inc.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| MouseX-Getopt documentation | Contained in the MouseX-Getopt distribution. |
package MouseX::Getopt::Dashes; BEGIN { $MouseX::Getopt::Dashes::AUTHORITY = 'cpan:STEVAN'; } BEGIN { $MouseX::Getopt::Dashes::VERSION = '0.33'; } # ABSTRACT: convert underscores in attribute names to dashes use Mouse::Role; with 'MouseX::Getopt'; around _get_cmd_flags_for_attr => sub { my $next = shift; my ( $class, $attr, @rest ) = @_; my ( $flag, @aliases ) = $class->$next($attr, @rest); $flag =~ tr/_/-/ unless $attr->does('MouseX::Getopt::Meta::Attribute::Trait') && $attr->has_cmd_flag; return ( $flag, @aliases ); }; no Mouse::Role; 1; __END__