X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FScriptRole.pm;h=4bab7859988e029beeac7ebb0269eb7b6dc8b6e1;hb=d072f850678b945e42afdb9fc872abf6df916e9c;hp=1874ea7127476398cca240f92da77f429fa4bbd3;hpb=aee7cdcc0b2b3b7dc672b4b4a31b8c3b7ef3f1f7;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/ScriptRole.pm b/lib/Catalyst/ScriptRole.pm index 1874ea7..4bab785 100644 --- a/lib/Catalyst/ScriptRole.pm +++ b/lib/Catalyst/ScriptRole.pm @@ -1,29 +1,36 @@ package Catalyst::ScriptRole; use Moose::Role; -use MooseX::Types::Moose qw/Str Bool/; use Pod::Usage; use MooseX::Getopt; use Catalyst::EngineLoader; -use MooseX::Types::LoadableClass qw/LoadableClass/; +use Moose::Util::TypeConstraints; +use Catalyst::Utils qw/ ensure_class_loaded /; use namespace::autoclean; +subtype 'Catalyst::ScriptRole::LoadableClass', + as 'ClassName'; +coerce 'Catalyst::ScriptRole::LoadableClass', + from 'Str', + via { ensure_class_loaded($_); 1 }; + with 'MooseX::Getopt' => { + -version => 0.48, -excludes => [qw/ _getopt_spec_warnings _getopt_spec_exception - _getopt_full_usage + print_usage_text /], }; has application_name => ( traits => ['NoGetopt'], - isa => Str, + isa => 'Str', is => 'ro', required => 1, ); has loader_class => ( - isa => LoadableClass, + isa => 'Catalyst::ScriptRole::LoadableClass', is => 'ro', coerce => 1, default => 'Catalyst::EngineLoader', @@ -50,7 +57,7 @@ sub _getopt_spec_warnings { warn @_; } -sub _getopt_full_usage { +sub print_usage_text { my $self = shift; pod2usage(); exit 0; @@ -117,6 +124,10 @@ Role with the common functionality of Catalyst scripts. The method invoked to run the application. +=head2 print_usage_text + +Prints out the usage text for the script you tried to invoke. + =head1 ATTRIBUTES =head2 application_name