A Moose role for processing command line options

Edit Package perl-MooseX-Getopt
http://search.cpan.org/dist/MooseX-Getopt/

This is a role which provides an alternate constructor for creating objects
using parameters passed in from the command line.

This module attempts to DWIM as much as possible with the command line
params by introspecting your class's attributes. It will use the name of
your attribute as the command line option, and if there is a type
constraint defined, it will configure Getopt::Long to handle the option
accordingly.

You can use the trait the MooseX::Getopt::Meta::Attribute::Trait manpage or
the attribute metaclass the MooseX::Getopt::Meta::Attribute manpage to get
non-default commandline option names and aliases.

You can use the trait the MooseX::Getopt::Meta::Attribute::Trait::NoGetopt
manpage or the attribute metaclass the
MooseX::Getopt::Meta::Attribute::NoGetopt manpage to have 'MooseX::Getopt'
ignore your attribute in the commandline options.

By default, attributes which start with an underscore are not given
commandline argument support, unless the attribute's metaclass is set to
the MooseX::Getopt::Meta::Attribute manpage. If you don't want your
accessors to have the leading underscore in their name, you can do this:

# for read/write attributes
has '_foo' => (accessor => 'foo', ...);

# or for read-only attributes
has '_bar' => (reader => 'bar', ...);

This will mean that Getopt will not handle a --foo param, but your code can
still call the 'foo' method.

If your class also uses a configfile-loading role based on the
MooseX::ConfigFromFile manpage, such as the MooseX::SimpleConfig manpage,
the MooseX::Getopt manpage's 'new_with_options' will load the configfile
specified by the '--configfile' option (or the default you've given for the
configfile attribute) for you.

Options specified in multiple places follow the following precendence
order: commandline overrides configfile, which overrides explicit
new_with_options parameters.

Refresh
Refresh
Source Files
Filename Size Changed
MooseX-Getopt-0.58.tar.gz 0000037742 36.9 KB
perl-MooseX-Getopt.changes 0000006777 6.62 KB
perl-MooseX-Getopt.spec 0000005539 5.41 KB
Revision 10 (latest revision is 24)
Stephan Kulow's avatar Stephan Kulow (coolo) accepted request 208526 from Stephan Kulow's avatar Stephan Kulow (coolo) (revision 10)
- updated to 0.58
 - remove use of deprecated $Config::Any::YAML::NO_YAML_XS_WARNING in tests
 - warnings tests bypassed during installation
 - author metadata moved to contributors
 - spelling fixes (RT#87780, David Steinbrunner)
 - removed use of deprecated Class::MOP::load_class
 - repository migrated from shadowcat to the github moose organization

- updated to 0.56
   - depend on newest Path::Tiny, to regain 5.8.x compatibility (gone since
     v0.52)
   - fix broken tests on win32 with file comparisons
   - fix broken tests on win32 with file comparisons
   - allow configfiles called "0"
   - support more mechanisms for overriding default configfile
   - when using in conjunction with MooseX::ConfigFromFile, configfile value now
     properly passed to new()
   - properly indicate optional dependency in tests using
     MooseX::ConfigFromFile
   - tests converted from using Path::Class to Path::Tiny
   - missing test prereqs now declared (thanks for the automated reports, David
     Cantrell!)
   - unbreak Catalyst::Runtime tests (etc) by keeping _getopt_full_usage in the
     callstack. (RT#82249)
   - silence a warning in tests if the user does not have YAML::XS installed
     (thanks for the report, Getty!)
   - fix off-by-one issues in test plans if optional requirements are not met
   - documentation and tests amended to prefer usage of 'trait' over 'metaclass'
     as much as possible
   - print_usage_text() exposed as a public method, to make it easier for
Comments 0
openSUSE Build Service is sponsored by