NAME

MooseX::App::Cmd::Command - Base class for MooseX::Getopt based App::Cmd::Commands.

SYNOPSIS

use Moose;

extends qw(MooseX::App::Cmd::Command);

# no need to set opt_spec
# see MooseX::Getopt for documentation on how to specify options
has option_field => (
    isa => "Str",
    is  => "rw",
    required => 1,
);

sub execute {
    my ( $self, $opts, $args ) = @_;

    print $self->option_field; # also available in $opts->{option_field}
}

DESCRIPTION

This is a replacement base class for App::Cmd::Command classes that includes MooseX::Getopt and the glue to combine the two.

METHODS

_process_args

Replaces App::Cmd::Command's argument processing in in favour of MooseX::Getopt based processing.

TODO

Full support for Getopt::Long::Descriptive's abilities is not yet written.

This entails taking apart the attributes and getting at the descriptions.

This might actually be added upstream to MooseX::Getopt, so until we decide here's a functional but not very helpful (to the user) version anyway.