}
}
- my $namespace = Catalyst::Utils::class2prefix(ref($self) ? $self->_component_name : $self, $case_s) || '';
+ my $namespace = Catalyst::Utils::class2prefix($self->_component_name, $case_s) || '';
$self->$orig($namespace) if ref($self);
return $namespace;
};
sub register_action_methods {
my ( $self, $c, @methods ) = @_;
- my $class = blessed($self) ? $self->_component_name : $self;
+ my $class = $self->_component_name;
#this is still not correct for some reason.
my $namespace = $self->action_namespace($c);
+ # FIXME - fugly
+ if (!blessed($self) && $self eq $c && scalar(@methods)) {
+ my @really_bad_methods = grep { ! /^_(DISPATCH|BEGIN|AUTO|ACTION|END)$/ } map { $_->name } @methods;
+ if (scalar(@really_bad_methods)) {
+ $c->log->warn("Action methods (" . join(', ', @really_bad_methods) . ") found defined in your application class, $self. This is deprecated, please move them into a Root controller.");
+ }
+ }
+
foreach my $method (@methods) {
my $name = $method->name;
my $attributes = $method->attributes;