unless ($result) {
- my $class = ref($command) || ref($c->component($command));
- my $method = shift || 'process';
+ my $class = ref($command) || ref( $c->component($command) );
+ my $method = shift || 'process';
- unless ( $class ) {
+ unless ($class) {
my $error =
qq/Couldn't forward to command "$command". Invalid action or component./;
$c->error($error);
if ( $c->debug && @args );
}
-=item $self->get_action( $c, $action, $namespace )
+=item $self->get_action( $action, $namespace )
=cut
sub get_action {
- my ( $self, $c, $name, $namespace ) = @_;
+ my ( $self, $name, $namespace ) = @_;
return unless $name;
$namespace ||= '';
$namespace = '' if $namespace eq '/';
return unless @match;
- if ( my $action = $match[-1]->get_action( $c, $name ) ) {
+ if ( my $action = $match[-1]->get_action($name) ) {
return $action if $action->namespace eq $namespace;
}
}
my @match = $self->get_containers($namespace);
- return map { $_->get_action( $c, $action ) } @match;
+ return map { $_->get_action($action) } @match;
}
=item $self->get_containers( $namespace )
# should catch any failures - or short-circuit this if this *is* a
# bug in the visitor and gets fixed.
- my $extra = $path[ ( scalar @match ) - 1 ];
- last unless $extra;
- $visitor->setSearchPath($extra);
- $match[-1]->accept($visitor);
- push( @match, $visitor->getResult ) if defined $visitor->getResult;
+ if ( my $extra = $path[ ( scalar @match ) - 1 ] ) {
+ $visitor->setSearchPath($extra);
+ $match[-1]->accept($visitor);
+ push( @match, $visitor->getResult ) if defined $visitor->getResult;
+ }
}
return map { $_->getNodeValue } @match;
Catalyst::ActionContainer->new( { part => '/', actions => {} } );
$self->tree( Tree::Simple->new( $container, Tree::Simple->ROOT ) );
- $c->register_actions($c);
-
foreach my $comp ( values %{ $c->components } ) {
$comp->register_actions($c) if $comp->can('register_actions');
}
return unless $c->debug;
- my $privates = Text::SimpleTable->new( [ 36, 'Private' ], [ 37, 'Class' ] );
+ my $privates = Text::SimpleTable->new(
+ [ 24, 'Private' ],
+ [ 23, 'Class' ],
+ [ 23, 'Method' ]
+ );
my $has_private = 0;
my $walker = sub {
next
if ( ( $action =~ /^_.*/ )
&& ( !$c->config->{show_internal_actions} ) );
- $privates->row( "$prefix$action", $action_obj->class );
+ $privates->row( "$prefix$action", $action_obj->class, $action );
$has_private = 1;
}