sourCEntral - mobile manpages

pdf

MooseX::App::Cmd

NAME

MooseX::App::Cmd - Mashes up MooseX::Getopt and App::Cmd

VERSION

version 0.34

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 AT rt DOT cpan DOT org <mailto:bug-MooseX-App-Cmd AT rt DOT cpan DOT 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>.

AUTHOR

XXXX XXXXX (Yuval Kogman) <nothingmuch AT woobling DOT org>

CONTRIBUTORS

Mark Gardner <mjgardner AT cpan DOT org>

Karen Etheridge <ether AT cpan DOT org>

Graham Knop <haarg AT haarg DOT org>

Daisuke Maki <dmaki AT cpan DOT org>

Offer Kaye <offer DOT kaye AT gmail DOT com>

brunov <vecchi DOT b AT gmail DOT com>

Ken Crowell <oeuftete AT gmail DOT com>

vovkasm <vovkasm AT gmail DOT com>

Dann <techmemo AT gmail DOT com>

Guillermo Roditi <groditi AT gmail DOT com>

Michael Joyce <ubermichael AT gmail DOT com>

COPYRIGHT AND LICENCE

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.

pdf