made model, view, controller subs simpler
André Walker [Sun, 21 Aug 2011 00:24:38 +0000 (21:24 -0300)]
lib/Catalyst/IOC.pm

index 8384566..3b12aa2 100644 (file)
@@ -34,12 +34,15 @@ sub container (&) {
     };
 }
 
-sub model (&)      { _subcontainer( shift, (caller)[0], 'model' )      }
-sub view (&)       { _subcontainer( shift, (caller)[0], 'view' )       }
-sub controller (&) { _subcontainer( shift, (caller)[0], 'controller' ) }
+sub model (&)      { &_subcontainer }
+sub view (&)       { &_subcontainer }
+sub controller (&) { &_subcontainer }
 
-sub _subcontainer (&$$) {
-    my ( $code, $caller, $subcontainer ) = @_;
+sub _subcontainer {
+    my $code = shift;
+
+    my ( $caller, $f, $l, $subcontainer ) = caller(1);
+    $subcontainer =~ s/^Catalyst::IOC:://;
 
     no strict 'refs';
     local ${"${caller}::current_container"} =