1 package Catalyst::ScriptRole;
3 use MooseX::Types::Moose qw/Str Bool/;
6 use namespace::autoclean;
8 with 'MooseX::Getopt' => {
11 _getopt_spec_exception
16 has application_name => (
17 traits => ['NoGetopt'],
27 documentation => q{Display this help and exit},
30 sub _getopt_spec_exception {}
32 sub _getopt_spec_warnings {
37 sub _getopt_full_usage {
45 $self->_getopt_full_usage if $self->help;
50 $self->_run_application;
53 sub _application_args {
57 sub _run_application {
59 my $app = $self->application_name;
60 Class::MOP::load_class($app);
61 $app->run($self->_application_args);
68 Catalyst::ScriptRole - Common functionality for Catalyst scripts.
72 package MyApp::Script::Foo;
74 use namespace::autoclean;
76 with 'Catalyst::Script::Role';
78 sub _application_args { ... }
82 Role with the common functionality of Catalyst scripts.
88 The method invoked to run the application.
92 =head2 application_name
94 The name of the application class, e.g. MyApp
104 Catalyst Contributors, see Catalyst.pm
108 This library is free software, you can redistribute it and/or modify
109 it under the same terms as Perl itself.