MooseX::Role::Cmd::Meta::Attribute::Trait - Optional meta attribute trait for custom option names
package MyApp::Cmd::SomeScript; with 'MooseX::Role::Cmd'; has 'basic' => ( isa => 'Str', is => 'rw', ); has 'prefix' => ( traits => [ 'CmdOpt' ], isa => 'Str', is => 'rw', cmdopt_prefix => '-', ); has 'rename' => ( traits => [ 'CmdOpt' ], isa => 'Str', is => 'rw', cmdopt_name => '+alt_name', ); $cmd = MyApp::Cmd::SomeScript->new( basic => 'foo', prefix => 'bar', rename => 'foobar' ); $cmd->run(); # somescript --basic foo -prefix bar +alt_name foobar
Provides some extra markup to help MooseX::Role::Cmd decide how to use command line parameters.
Forces the command prefix to be a certain character. This was introduced to allow parameters to be specified as "-param" or "--param"
Test for attribute above
Forces the command options name to be the passed string. This was introduced to allow parameters to have a different name to the attribute.
This option will override the cmdopt_prefix attribute.
This attribute trait can be used to specify an environment variable rather than a command line option.
has 'home_dir' => ( traits => [ 'CmdOpt' ], is => 'rw', isa => 'Str', cmdopt_env => 'APP_HOME', default => '/my/app/home' ); # $ENV{APP_HOME} = /my/app/home
All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT.
Ian Sillitoe <ian.sillitoe@gmail.com>
The idea for this code was ripped kicking and screaming from MooseX::Getopt::Meta::Attribute::Trait
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install MooseX::Role::Cmd, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MooseX::Role::Cmd
CPAN shell
perl -MCPAN -e shell install MooseX::Role::Cmd
For more information on module installation, please visit the detailed CPAN module installation guide.