X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FController.pm;fp=lib%2FCatalyst%2FController.pm;h=37e36e10bad9ebb211f4373e29ed5cbd74fc93a1;hp=aca0b1caf5f18369c06c12cefda4c9bc4fd2ed75;hb=829b22f766b0b1d1a09a6ce152abe48ad9bde5ec;hpb=77d892df0c89bb233feac1a72e701b94ba6bcba5 diff --git a/lib/Catalyst/Controller.pm b/lib/Catalyst/Controller.pm index aca0b1c..37e36e1 100644 --- a/lib/Catalyst/Controller.pm +++ b/lib/Catalyst/Controller.pm @@ -156,7 +156,7 @@ around action_namespace => sub { } } - 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; }; @@ -190,7 +190,7 @@ sub get_action_methods { @methods, map { $meta->find_method_by_name($_) - || confess( 'Action "' + || confess( 'Action "' . $_ . '" is not available from controller ' . ( ref $self ) ) @@ -207,7 +207,7 @@ sub register_actions { 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);