Name : perl-MooseX-App
| |
Version : 1.38
| Vendor : obs://build_opensuse_org/devel:languages:perl
|
Release : 1.1
| Date : 2017-05-25 17:02:09
|
Group : Development/Libraries/Perl
| Source RPM : perl-MooseX-App-1.38-1.1.src.rpm
|
Size : 0.27 MB
| |
Packager : (none)
| |
Summary : Write user-friendly command line apps with even less suffering
|
Description :
MooseX-App is a highly customisable helper to write user-friendly command line applications without having to worry about most of the annoying things usually involved. Just take any existing Moose class, add a single line (\'use MooseX-App qw(PluginA PluginB ...);\') and create one class for each command in an underlying namespace. Options and positional parameters can be defined as simple Moose accessors using the \'option\' and \'parameter\' keywords respectively.
MooseX-App will then
* * Find, load and initialise the command classes (see MooseX::App::Simple for single class/command applications)
* * Create automated help and documentation from modules POD as well as attributes metadata and type constraints
* * Read, encode and validate the command line options and positional parameters entered by the user from AATTARGV and %ENV (and possibly prompt the user for additional parameters see MooseX::App::Plugin::Term)
* * Provide helpful error messages if user input cannot be validated (either missing or wrong attributes or Moose type constraints not satisfied) or if the user requests help.
Commandline options are defined using the \'option\' keyword which accepts the same attributes as Moose\' \'has\' keyword.
option \'some_option\' => ( is => \'rw\', isa => \'Str\', );
This is equivalent to
has \'some_option\' => ( is => \'rw\', isa => \'Str\', traits => [\'AppOption\'], # Load extra metaclass cmd_type => \'option\', # Set attribute type );
Single letter options are treated as flags and may be combined with eachother.
Positional parameters are defined with the \'parameter\' keyword
parameter \'some_option\' => ( is => \'rw\', isa => \'Str\', );
This is equivalent to
has \'some_option\' => ( is => \'rw\', isa => \'Str\', traits => [\'AppOption\'], cmd_type => \'parameter\', );
All keywords are imported by Moosex::App (in the app base class) and MooseX::App::Command (in the command class) or MooseX::App::Simple (single class application).
Furthermore, all options and parameters can also be supplied via %ENV
option \'some_option\' => ( is => \'rw\', isa => \'Str\', cmd_env => \'SOME_OPTION\', # sets the env key );
Moose type constraints help MooseX::App to construct helpful error messages and parse AATTARGV in a meaningful way. The following type constraints are supported:
* * ArrayRef: Specify multiple values (\'--opt value1 --opt value2\', also see app_permute and cmd_split)
* * HashRef: Specify multiple key value pairs (\'--opt key=value --opt key2=value2\', also see app_permute)
* * Enum: Display all possibilities
* * Bool: Flags that do not require values
* * Int, Num: Used for proper error messages
Read the Tutorial for getting started with a simple MooseX::App command line application.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl/openSUSE_13.2/noarch |
Hmm ... It's impossible ;-) This RPM doesn't exist on any FTP server
Provides :
perl(Moose::Meta::Attribute::Custom::Trait::AppDepends)
perl(Moose::Meta::Attribute::Custom::Trait::AppMutexGroup)
perl(Moose::Meta::Attribute::Custom::Trait::AppOption)
perl(Moose::Meta::Attribute::Custom::Trait::AppTerm)
perl(MooseX::App)
perl(MooseX::App::Command)
perl(MooseX::App::Exporter)
perl(MooseX::App::Message::Block)
perl(MooseX::App::Message::BlockColor)
perl(MooseX::App::Message::Envelope)
perl(MooseX::App::Meta::Role::Attribute::Option)
perl(MooseX::App::Meta::Role::Class::Base)
perl(MooseX::App::Meta::Role::Class::Command)
perl(MooseX::App::Meta::Role::Class::Documentation)
perl(MooseX::App::Meta::Role::Class::Simple)
perl(MooseX::App::Null)
perl(MooseX::App::ParsedArgv)
perl(MooseX::App::ParsedArgv::Element)
perl(MooseX::App::ParsedArgv::Value)
perl(MooseX::App::Plugin::BashCompletion)
perl(MooseX::App::Plugin::BashCompletion::Command)
perl(MooseX::App::Plugin::BashCompletion::Meta::Class)
perl(MooseX::App::Plugin::Color)
perl(MooseX::App::Plugin::Color::Meta::Class)
perl(MooseX::App::Plugin::Config)
perl(MooseX::App::Plugin::Config::Meta::Class)
perl(MooseX::App::Plugin::ConfigHome)
perl(MooseX::App::Plugin::ConfigHome::Meta::Class)
perl(MooseX::App::Plugin::Depends)
perl(MooseX::App::Plugin::Depends::Meta::Attribute)
perl(MooseX::App::Plugin::Depends::Meta::Class)
perl(MooseX::App::Plugin::Env)
perl(MooseX::App::Plugin::Fuzzy)
perl(MooseX::App::Plugin::Man)
perl(MooseX::App::Plugin::Man::Command)
perl(MooseX::App::Plugin::Man::Meta::Class)
perl(MooseX::App::Plugin::MutexGroup)
perl(MooseX::App::Plugin::MutexGroup::Meta::Attribute)
perl(MooseX::App::Plugin::MutexGroup::Meta::Class)
perl(MooseX::App::Plugin::Term)
perl(MooseX::App::Plugin::Term::Meta::Attribute)
perl(MooseX::App::Plugin::Term::Meta::Class)
perl(MooseX::App::Plugin::Typo)
perl(MooseX::App::Plugin::Typo::Meta::Class)
perl(MooseX::App::Plugin::Version)
perl(MooseX::App::Plugin::Version::Command)
perl(MooseX::App::Plugin::Version::Meta::Class)
perl(MooseX::App::Role)
perl(MooseX::App::Role::Base)
perl(MooseX::App::Role::Common)
perl(MooseX::App::Simple)
perl(MooseX::App::Utils)
perl-MooseX-App
Requires :