a few more tests passing
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Dispatcher.pm
index ab540e3..e1fd0c8 100644 (file)
@@ -312,6 +312,19 @@ sub _invoke_as_component {
     if( $component_or_class eq blessed($c->application) ){
         my $possible_action = $c->application->action_for($method);
         return $possible_action if $possible_action;
+        if( my $code = $c->application->can($method) ){
+            return $self->_method_action_class->new(
+                {
+                    name      => $method,
+                    code      => $code,
+                    reverse   => "$component_or_class->$method",
+                    class     => $component_or_class,
+                    namespace => Catalyst::Utils::class2prefix(
+                        $component_or_class, $c->config->{case_sensitive}
+                    ),
+                }
+            );
+        }
     }
     my $component = $self->_find_component($c, $component_or_class);
     my $component_class = blessed $component || return 0;