|
NAMEMouseX::App::Cmd - Mashes up MouseX::Getopt and App::Cmd VERSIONversion 0.30 SYNOPSIS package YourApp::Cmd;
use Mouse;
extends qw(MouseX::App::Cmd);
package YourApp::Cmd::Command::blort;
use Mouse;
extends qw(MouseX::App::Cmd::Command);
has blortex => (
traits => [qw(Getopt)],
isa => 'Bool',
is => 'rw',
cmd_aliases => 'X',
documentation => 'use the blortext algorithm',
);
has recheck => (
traits => [qw(Getopt)],
isa => 'Bool',
is => 'rw',
cmd_aliases => 'r',
documentation => 'recheck all results',
);
sub execute {
my ( $self, $opt, $args ) = @_;
# you may ignore $opt, it's in the attributes anyway
my $result = $self->blortex ? blortex() : blort();
recheck($result) if $self->recheck;
print $result;
}
DESCRIPTIONThis module marries App::Cmd with MouseX::Getopt. Use it like App::Cmd advises (especially see App::Cmd::Tutorial), swapping App::Cmd::Command for MouseX::App::Cmd::Command. Then you can write your moose commands as Mouse classes, with MouseX::Getopt defining the options for you instead of "opt_spec" returning a Getopt::Long::Descriptive spec. METHODSBUILDAfter calling "new" this method is automatically run, setting underlying App::Cmd attributes as per its documentation. SEE ALSOAUTHORיובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org> COPYRIGHT AND LICENSEThis software is copyright (c) 2008 by Infinity Interactive, Inc.. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. CONTRIBUTORS
|