NAME

MooseX::App::Simple - Single command applications

SYNOPSIS

 package MyApp;
 use MooseX::App::Simple qw(Config Color);

 option 'my_option' => (
     is            => 'rw',
     isa           => 'Bool',
     documentation => q[Enable this to do fancy stuff],
 );
 
 has 'private' => ( 
     is              => 'rw',
 ); # not exposed
 
 sub run {
     my ($self) = @_;
     # Do something
 }

And then in some simple wrapper script:

#!/usr/bin/env perl
use MyApp;
MyApp->new_with_options->run;

DESCRIPTION

MooseX-App-Simple works basically just as MooseX-App, however it does not search for commands and assumes that you have all options defined in the current class.

Read the Tutorial for getting started with a simple MooseX::App command line application.

METHODS

new_with_options

my $myapp_command = MyApp->new_with_options();

This method reads the command line arguments from the user and tries to create instantiate the current class with the ARGV-input. If it fails it retuns a MooseX::App::Message::Envelope object holding an error message.

You can pass a hash of default params to new_with_options

MyApp->new_with_options( %default );

OPTIONS

Same as in MooseX::App

PLUGINS

Same as in MooseX::App. However plugings adding commands will not work with MooseX::App::Simple.

SEE ALSO

Read the Tutorial for getting started with a simple MooseX::App command line application.

MooseX::Getopt