}
}
- my $namespace = Catalyst::Utils::class2prefix(ref($self) || $self, $case_s) || '';
+ my $namespace = Catalyst::Utils::class2prefix(ref($self) ? $self->_component_name : $self, $case_s) || '';
$self->$orig($namespace) if ref($self);
return $namespace;
};
push(
@methods,
map {
- $meta->get_method($_)
- || confess( 'Action "'
+ $meta->find_method_by_name($_)
+ || confess( 'Action "'
. $_
. '" is not available from controller '
. ( ref $self ) )
sub register_action_methods {
my ( $self, $c, @methods ) = @_;
- my $class = ref $self || $self;
+ my $class = blessed($self) ? $self->_component_name : $self;
#this is still not correct for some reason.
my $namespace = $self->action_namespace($c);
}
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 );
}
=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