| MooseX-Role-Cmd documentation | view source | Contained in the MooseX-Role-Cmd distribution. |
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.
Test for attribute above
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
Test for attribute above
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.
| MooseX-Role-Cmd documentation | view source | Contained in the MooseX-Role-Cmd distribution. |