Pass extra args from ScriptRunner->run to ->new_with_options.
Tomas Doran [Wed, 30 Mar 2011 12:49:03 +0000 (13:49 +0100)]
This is to allow you to reuse the loading logic in ::ScriptRunning, without
being forced to push things into %ENV to get them picked up

lib/Catalyst/ScriptRunner.pm

index 247ce30..06b36b5 100644 (file)
@@ -6,7 +6,7 @@ use File::Spec;
 use namespace::autoclean;
 
 sub run {
-    my ($self, $class, $scriptclass) = @_;
+    my ($self, $class, $scriptclass, %args) = @_;
     my $classtoload = "${class}::Script::$scriptclass";
 
     lib->import(File::Spec->catdir($FindBin::Bin, '..', 'lib'));
@@ -17,7 +17,7 @@ sub run {
         $classtoload = "Catalyst::Script::$scriptclass";
         Class::MOP::load_class($classtoload);
     }
-    $classtoload->new_with_options( application_name => $class )->run;
+    $classtoload->new_with_options( application_name => $class, %args )->run;
 }
 
 __PACKAGE__->meta->make_immutable;