]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Controller/Base.pm
_controller_name auch auf $class callbar
[mfinanz.git] / SL / Controller / Base.pm
index f99b1e722b0e5174e0ba469a8ddec3816a2e157b..4dace86ed91844d63e7efd05142c499df2dc1fd1 100644 (file)
@@ -160,10 +160,10 @@ sub _run_hooks {
          || ($hook->{except} &&  $hook->{except}->{$action});
 
     if (ref($hook->{code}) eq 'CODE') {
          || ($hook->{except} &&  $hook->{except}->{$action});
 
     if (ref($hook->{code}) eq 'CODE') {
-      $hook->{code}->($self);
+      $hook->{code}->($self, $action);
     } else {
       my $sub = $hook->{code};
     } else {
       my $sub = $hook->{code};
-      $self->$sub;
+      $self->$sub($action);
     }
   }
 }
     }
   }
 }
@@ -204,7 +204,7 @@ sub _run_action {
 }
 
 sub _controller_name {
 }
 
 sub _controller_name {
-  return (split(/::/, ref($_[0])))[-1];
+  return (split(/::/, ref($_[0]) || $_[0]))[-1];
 }
 
 sub _dispatch {
 }
 
 sub _dispatch {
@@ -328,6 +328,10 @@ hooks themselves are run as instance methods.
 
 Hooks are run in the order they're added.
 
 
 Hooks are run in the order they're added.
 
+The hooks receive a single parameter: the name of the action that is
+about to be called (for C<before> hooks) / was called (for C<after>
+hooks).
+
 The return value of the hooks is discarded.
 
 Hooks can be defined to run for all actions, for only specific actions
 The return value of the hooks is discarded.
 
 Hooks can be defined to run for all actions, for only specific actions