logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

MooseX::Getopt::Meta::Attribute - Optional meta attribute for custom option names

Author

       Stevan Little <stevan@iinteractive.com>

Description

       This is a custom attribute metaclass which can be used to specify a the specific command line flag to use
       instead of the default one which MooseX::Getopt will create for you.

       This is certainly not the prettiest way to go about this, but for now it works for those who might need
       such a feature.

   Use'traits'insteadof'metaclass'
       You should rarely need to explicitly set the attribute metaclass. It is much preferred to simply provide
       a trait (a role applied to the attribute metaclass), which allows other code to further modify the
       attribute by applying additional roles.

       Therefore, you should first try to do this:

         has 'foo' => (traits => ['Getopt'], cmd_flag => 'f');

   CustomMetaclassalias
       This now takes advantage of the Moose 0.19 feature to support custom attribute metaclass aliases. This
       means you can also use this as the Getopt alias, like so:

         has 'foo' => (metaclass => 'Getopt', cmd_flag => 'f');

Methods

cmd_flag
       Changes the command-line flag to be this value, instead of the default, which is the same as the
       attribute name.

   cmd_aliases
       Adds more aliases for this command-line flag, useful for short options and such.

   has_cmd_flaghas_cmd_aliases

Name

       MooseX::Getopt::Meta::Attribute - Optional meta attribute for custom option names

Support

       Bugs may be submitted through the RT bug tracker
       <https://rt.cpan.org/Public/Dist/Display.html?Name=MooseX-Getopt> (or bug-MooseX-Getopt@rt.cpan.org
       <mailto:bug-MooseX-Getopt@rt.cpan.org>).

       There is also a mailing list available for users of this distribution, at
       <http://lists.perl.org/list/moose.html>.

       There is also an irc channel available for users of this distribution, at "#moose" on "irc.perl.org"
       <irc://irc.perl.org/#moose>.

Synopsis

         package App;
         use Moose;

         with 'MooseX::Getopt';

         has 'data' => (
             metaclass => 'Getopt',
             is        => 'ro',
             isa       => 'Str',
             default   => 'file.dat',

             # tells MooseX::Getopt to use --somedata as the
             # command line flag instead of the normal
             # autogenerated one (--data)
             cmd_flag  => 'somedata',

             # tells MooseX::Getopt to also allow --moosedata,
             # -m, and -d as aliases for this same option on
             # the commandline.
             cmd_aliases => [qw/ moosedata m d /],

             # Or, you can use a plain scalar for a single alias:
             cmd_aliases => 'm',
         );

Version

       version 0.78

See Also