NAME

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

SYNOPSIS

use Mouse;

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

# no need to set opt_spec
# see MouseX::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 MouseX::Getopt and the glue to combine the two.

METHODS

_process_args

Replaces App::Cmd::Command's argument processing in in favour of MouseX::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 MouseX::Getopt, so until we decide here's a functional but not very helpful (to the user) version anyway.