X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FScriptRole.pm;h=1874ea7127476398cca240f92da77f429fa4bbd3;hb=5bf293276098f2b467162c75182eb3bc3f7b0119;hp=af8c636c74236eb8b610e64235295b13584024ab;hpb=9c74923de2304b8c8f0a7a2faa0854ad9b4d3a92;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/ScriptRole.pm b/lib/Catalyst/ScriptRole.pm index af8c636..1874ea7 100644 --- a/lib/Catalyst/ScriptRole.pm +++ b/lib/Catalyst/ScriptRole.pm @@ -3,7 +3,7 @@ use Moose::Role; use MooseX::Types::Moose qw/Str Bool/; use Pod::Usage; use MooseX::Getopt; -use Catalyst::Engine::Loader; +use Catalyst::EngineLoader; use MooseX::Types::LoadableClass qw/LoadableClass/; use namespace::autoclean; @@ -26,14 +26,15 @@ has loader_class => ( isa => LoadableClass, is => 'ro', coerce => 1, - default => 'Catalyst::Engine::Loader', + default => 'Catalyst::EngineLoader', documentation => 'The class to use to detect and load the PSGI engine', ); has _loader => ( isa => 'Plack::Loader', default => sub { - shift->loader_class->new + my $self = shift; + $self->loader_class->new(application_name => $self->application_name); }, handles => { load_engine => 'load', @@ -61,21 +62,28 @@ sub run { } sub _application_args { - () + my $self = shift; + return { + argv => $self->ARGV, + extra_argv => $self->extra_argv, + } } sub _plack_loader_args { - my @app_args = shift->_application_args; + my $self = shift; + my @app_args = $self->_application_args; return (port => $app_args[0]); } +sub _plack_engine_name {} + sub _run_application { my $self = shift; my $app = $self->application_name; Class::MOP::load_class($app); my $server; - if (my $e = $self->can('_plack_engine_name') ) { - $server = $self->load_engine($self->$e, $self->_plack_loader_args); + if (my $e = $self->_plack_engine_name ) { + $server = $self->load_engine($e, $self->_plack_loader_args); } else { $server = $self->autoload_engine($self->_plack_loader_args);