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", "cmd_flag",
"cmd_aliases" and "cmd_type" attributes to
options
FUNCTIONS¶
command_short_description¶
Set the short description. If not set this information will be taken from the
Pod NAME or ABSTRACT section. Alternative this will be taken from the
DistZilla ABSTRACT tag.
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, the usage information will be
autogenerated.
command_strict¶
command_strict(0); # default
OR
command_strict(1);
If strict is enabled the program will terminate with an error message if
superfluous/unknown positional parameters are supplied. If disabled all extra
parameters will be copied to the extra_argv attribute.
The app_strict function in the app classes allows one to set this option
globally.