Provided by: libmoosex-app-cmd-perl_0.32-2_all
NAME
MooseX::App::Cmd - Mashes up MooseX::Getopt and App::Cmd
VERSION
version 0.32
SYNOPSIS
package YourApp::Cmd; use Moose; extends qw(MooseX::App::Cmd); package YourApp::Cmd::Command::blort; use Moose; extends qw(MooseX::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; }
DESCRIPTION
This module marries App::Cmd with MooseX::Getopt. Use it like App::Cmd advises (especially see App::Cmd::Tutorial), swapping App::Cmd::Command for MooseX::App::Cmd::Command. Then you can write your moose commands as Moose classes, with MooseX::Getopt defining the options for you instead of "opt_spec" returning a Getopt::Long::Descriptive spec.
METHODS
BUILD After calling "new" this method is automatically run, setting underlying App::Cmd attributes as per its documentation.
SEE ALSO
App::Cmd App::Cmd::Tutorial MooseX::Getopt MooseX::App::Cmd::Command
SUPPORT
Bugs may be submitted through the RT bug tracker <https://rt.cpan.org/Public/Dist/Display.html?Name=MooseX-App-Cmd> (or bug-MooseX-App-Cmd@rt.cpan.org <mailto:bug-MooseX-App-Cmd@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 irc://irc.perl.org/#moose.
AUTHOR
XXXX XXX'XX (Yuval Kogman) <nothingmuch@woobling.org>
CONTRIBUTORS
• Mark Gardner <mjgardner@cpan.org> • Karen Etheridge <ether@cpan.org> • Graham Knop <haarg@haarg.org> • Daisuke Maki <dmaki@cpan.org> • Offer Kaye <offer.kaye@gmail.com> • brunov <vecchi.b@gmail.com> • vovkasm <vovkasm@gmail.com> • Ken Crowell <oeuftete@gmail.com> • Michael Joyce <ubermichael@gmail.com> • Dann <techmemo@gmail.com> • Guillermo Roditi <groditi@gmail.com>
COPYRIGHT AND LICENSE
This 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.