Make this error message more readable
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Controller.pm
index faf4b8e..ca94a3b 100644 (file)
@@ -182,11 +182,10 @@ around path_prefix => sub {
 sub get_action_methods {
     my $self = shift;
     my $meta = find_meta($self) || confess("No metaclass setup for $self");
-    confess("Metaclass "
-          . ref($meta) . " for "
-          . $meta->name
-          . " cannot support register_actions." )
-      unless $meta->can('get_nearest_methods_with_attributes');
+    confess(
+        sprintf "Metaclass %s for %s cannot support register_actions.",
+            ref $meta, $meta->name,
+    ) unless $meta->can('get_nearest_methods_with_attributes');
     my @methods = $meta->get_nearest_methods_with_attributes;
 
     # actions specified via config are also action_methods
@@ -194,10 +193,8 @@ sub get_action_methods {
         @methods,
         map {
             $meta->find_method_by_name($_)
-              || confess( 'Action "'
-                  . $_
-                  . '" is not available from controller '
-                  . ( ref $self ) )
+                || confess( sprintf 'Action "%s" is not available from controller %s',
+                            $_, ref $self )
           } keys %{ $self->_controller_actions }
     ) if ( ref $self );
     return uniq @methods;
@@ -225,6 +222,8 @@ sub register_action_methods {
 
     foreach my $method (@methods) {
         my $name = $method->name;
+        # Horrible hack! All method metaclasses should have an attributes
+        # method, core Moose bug - see r13354.
         my $attributes = $method->can('attributes') ? $method->attributes : [];
         my $attrs = $self->_parse_attrs( $c, $name, @{ $attributes } );
         if ( $attrs->{Private} && ( keys %$attrs > 1 ) ) {
@@ -294,11 +293,6 @@ sub _parse_attrs {
         }
     }
 
-    #I know that the original behavior was to ignore action if actions was set
-    # but i actually think this may be a little more sane? we can always remove
-    # the merge behavior quite easily and go back to having actions have
-    # presedence over action by modifying the keys. i honestly think this is
-    # superior while mantaining really high degree of compat
     my $actions;
     if( ref($self) ) {
         $actions = $self->_controller_actions;
@@ -541,7 +535,7 @@ and registers them with the dispatcher.
 =head2 $self->action_class(%args)
 
 Used when a controller is creating an action to determine the correct base
-action class to use.  
+action class to use.
 
 =head2 $self->create_action(%args)