table of contents
        
      
      
    - Tumbleweed 0.10-12.29
 - Leap-15.6
 
| MooseX::Role::Cmd::Meta::Attribute::Trait(3) | User Contributed Perl Documentation | MooseX::Role::Cmd::Meta::Attribute::Trait(3) | 
NAME¶
MooseX::Role::Cmd::Meta::Attribute::Trait - Optional meta attribute trait for custom option names
SYNOPSIS¶
    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
DESCRIPTION¶
Provides some extra markup to help MooseX::Role::Cmd decide how to use command line parameters.
ATTRIBUTES¶
cmdopt_prefix¶
Forces the command prefix to be a certain character. This was introduced to allow parameters to be specified as "-param" or "--param"
has_cmdopt_prefix¶
Test for attribute above
cmdopt_name¶
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.
has_cmdopt_name¶
Test for attribute above
cmdopt_env¶
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
has_cmdopt_env¶
Test for attribute above
BUGS¶
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.
AUTHOR¶
Ian Sillitoe <ian.sillitoe@gmail.com>
SEE ALSO¶
The idea for this code was ripped kicking and screaming from MooseX::Getopt::Meta::Attribute::Trait
COPYRIGHT AND LICENSE¶
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| 2018-10-09 | perl v5.42.0 |