NAME
MooseX::App::Cmd - Mashes up MooseX::Getopt and App::Cmd
VERSION
version 0.34
SYNOPSIS
package
YourApp::Cmd;
use
Moose;
package
YourApp::Cmd::Command::blort;
use
Moose;
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;
$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
SUPPORT
Bugs may be submitted through the RT bug tracker (or 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 #moose
on irc.perl.org
.
AUTHOR
יובל קוג'מן (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>
Ken Crowell <oeuftete@gmail.com>
vovkasm <vovkasm@gmail.com>
Dann <techmemo@gmail.com>
Guillermo Roditi <groditi@gmail.com>
Michael Joyce <ubermichael@gmail.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.