private_path method for actions that returns a string suitable for use in forward...
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Controller.pm
index 05165c1..aca0b1c 100644 (file)
@@ -189,7 +189,7 @@ sub get_action_methods {
     push(
         @methods,
         map {
-            $meta->get_method($_)
+            $meta->find_method_by_name($_)
               || confess( 'Action "' 
                   . $_
                   . '" is not available from controller '
@@ -214,7 +214,6 @@ sub register_action_methods {
     foreach my $method (@methods) {
         my $name = $method->name;
         my $attributes = $method->attributes;
-        #next unless $attributes;
         my $attrs = $self->_parse_attrs( $c, $name, @{ $attributes } );
         if ( $attrs->{Private} && ( keys %$attrs > 1 ) ) {
             $c->log->debug( 'Bad action definition "'
@@ -385,13 +384,14 @@ sub _parse_ChainedParent_attr {
 }
 
 sub _parse_PathPrefix_attr {
-    my $self = shift;
-    return PathPart => $self->path_prefix;
+    my ( $self, $c ) = @_;
+    return PathPart => $self->path_prefix($c);
 }
 
 sub _parse_ActionClass_attr {
     my ( $self, $c, $name, $value ) = @_;
-    $value = Catalyst::Utils::resolve_namespace($self->_action_class, $value);
+    my $appname = $self->_application;
+    $value = Catalyst::Utils::resolve_namespace($appname . '::Action', $self->_action_class, $value);
     return ( 'ActionClass', $value );
 }
 
@@ -488,7 +488,7 @@ Catalyst Contributors, see Catalyst.pm
 
 =head1 COPYRIGHT
 
-This program is free software, you can redistribute it and/or modify
+This library is free software. You can redistribute it and/or modify
 it under the same terms as Perl itself.
 
 =cut