NAME
MooX::Commander::HasSubcommands - Moo role to add subcommands to your command line app
SYNOPSIS
# inside lib/PieFactory/Cmd/Recipes.pm:
package PieFactory::Cmd::Recipes;
use Moo;
with 'MooX::Commander::HasSubcommands';
usage {
   return <<EOF
Subcommands for: piefactory recipes
piefactory recipe list             List pie recipes
piefactory recipe add <recipe>     Display a recipe
piefactory recipe delete <recipe>  Add a recipe
piefactory recipe show <recipe>    Delete a recipe
EOF
}
# Create these classes the same way you would build any command class.
# For details see MooX::Commander and MooX::Commander::HasOptions.
# lib/PieFactory/Cmd/Recipes/List.pm
# lib/PieFactory/Cmd/Recipes/Show.pm
# lib/PieFactory/Cmd/Recipes/Add.pm
# lib/PieFactory/Cmd/Recipes/Delete.pm
DESCRIPTION
MooX::Commander::HasSubcommands is a simple Moo::Role thats subcommands to your command line application. You can also create sub-subcommands and sub-sub-subcommands, etc.
It loads and instantiates the subcommand class the user requested calls the go() method on that object. usage() works the same way here as it does in MooX::Commander::HasOptions -- it prints the usage statement and exits the program unsuccessfuly.
LICENSE
Copyright (C) Eric Johnson.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Eric Johnson <eric.git@iijo.org>