NAME

MooseX::App::Command - Load command class metaclasses

SYNOPSIS

package MyApp::SomeCommand;

use Moose; # optional
use MooseX::App::Command

option 'testattr' => (
   isa             => 'rw',
   cmd_tags        => [qw(Important! Nice))],
);

command_short_description 'This is a short description';
command_long_description 'This is a much longer description yadda yadda';
command_usage 'script some_command --testattr 123'; 

DESCRIPTION

By loading this class into your command classes you enable all documentation features such as:

  • Parsing command documentation from POD

  • Setting the command documentation manually via command_short_description and command_long_description

  • Overriding the automated usage header with custom usage from POD or via command_usage

  • Adding the cmd_tags option to options

  • Adding all attributes available in MooseX::Getopt::Meta::Attribute::Trait such as cmd_flag nad cmd_aliases.

FUNCTIONS

command_short_description

Set the short description. If not set this information will be taken from the POD NAME section

command_long_description

Set the long description. If not set this information will be taken from the POD DESCRIPTION or OVERVIEW sections.

command_usage

Set custom usage. If not set this will be taken from the POD SYNOPSIS or USAGE section. If those sections are not available in the POD the usage information will be autogenerated.