X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FScriptRole.pm;h=7ae3d7df9f7a13153fe55a1fa80cdb984e0319dc;hb=04189a0f6c54fc880f1688dc28785016671f5d34;hp=aa319f3589eb5a9ad715377eb8f0c753576aabe4;hpb=1628b022d9ba6ae63b8b4780065f4e3e71b4e1f8;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/ScriptRole.pm b/lib/Catalyst/ScriptRole.pm index aa319f3..7ae3d7d 100644 --- a/lib/Catalyst/ScriptRole.pm +++ b/lib/Catalyst/ScriptRole.pm @@ -2,36 +2,37 @@ package Catalyst::ScriptRole; use Moose::Role; use MooseX::Types::Moose qw/Str Bool/; use Pod::Usage; +use MooseX::Getopt; use namespace::autoclean; -with 'MooseX::Getopt'; +with 'MooseX::Getopt' => { + -excludes => [qw/ + _getopt_spec_warnings + _getopt_spec_exception + _getopt_full_usage + /], +}; has application_name => ( - traits => ['NoGetopt'], - isa => Str, - is => 'ro', + traits => ['NoGetopt'], + isa => Str, + is => 'ro', required => 1, ); -has help => ( - traits => ['Getopt'], - cmd_aliases => 'h', - isa => Bool, - is => 'ro', - documentation => q{Display this help and exit}, -); +sub _getopt_spec_exception {} -sub _display_help { +sub _getopt_spec_warnings { + shift; + warn @_; +} + +sub _getopt_full_usage { my $self = shift; pod2usage(); exit 0; } -before run => sub { - my $self = shift; - $self->_display_help if $self->help; -}; - sub run { my $self = shift; $self->_run_application; @@ -56,11 +57,35 @@ Catalyst::ScriptRole - Common functionality for Catalyst scripts. =head1 SYNOPSIS - FIXME - + package MyApp::Script::Foo; + use Moose; + use namespace::autoclean; + + with 'Catalyst::ScriptRole'; + + sub _application_args { ... } + =head1 DESCRIPTION - FIXME +Role with the common functionality of Catalyst scripts. + +=head1 METHODS + +=head2 run + +The method invoked to run the application. + +=head1 ATTRIBUTES + +=head2 application_name + +The name of the application class, e.g. MyApp + +=head1 SEE ALSO + +L + +L =head1 AUTHORS @@ -72,4 +97,3 @@ This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself. =cut - \ No newline at end of file