The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Catalyst::Action - Catalyst Action

SYNOPSIS

<form action="[%c.uri_for(c.action)%]">

$c->forward( $action->private_path );

DESCRIPTION

This class represents a Catalyst Action. You can access the object for the currently dispatched action via $c->action. See the Catalyst::Dispatcher for more information on how actions are dispatched. Actions are defined in Catalyst::Controller subclasses.

METHODS

attributes

The sub attributes that are set for this action, like Local, Path, Private and so on. This determines how the action is dispatched to.

class

Returns the name of the component where this action is defined. Derived by calling the catalyst_component_name method on each component.

code

Returns a code reference to this action.

dispatch( $c )

Dispatch this action against a context.

execute( $controller, $c, @args )

Execute this action's coderef against a given controller with a given context and arguments

match( $c )

Check Args attribute, and makes sure number of args matches the setting. Always returns true if Args is omitted.

match_captures ($c, $captures)

Can be implemented by action class and action role authors. If the method exists, then it will be called with the request context and an array reference of the captures for this action.

Returning true from this method causes the chain match to continue, returning makes the chain not match (and alternate, less preferred chains will be attempted).

match_captures_constraints ($c, \@captures);

Does the \@captures given match any constraints (if any constraints exist). Returns true if you ask but there are no constraints.

match_args($c, $args)

Does the Args match or not?

resolve_type_constraint

Tries to find a type constraint if you have on on a type constrained method.

compare

Compares 2 actions based on the value of the Args attribute, with no Args having the highest precedence.

equals

if( $action->equal($other_action) ) { ... }

Returns true if the two actions are equal.

namespace

Returns the private namespace this action lives in.

reverse

Returns the private path for this action.

private_path

Returns absolute private path for this action. Unlike reverse, the private_path of an action is always suitable for passing to forward.

name

Returns the sub name of this action.

number_of_args

Returns the number of args this action expects. This is 0 if the action doesn't take any arguments and undef if it will take any number of arguments.

normalized_arg_number

The number of arguments (starting with zero) that the current action defines, or undefined if there is not defined number of args (which is later treated as, " as many arguments as you like").

comparable_arg_number

For the purposes of comparison we normalize 'number_of_args' so that if it is undef we mean ~0 (as many args are we can think of).

number_of_captures

Returns the number of captures this action expects for Chained actions.

list_extra_info

A HashRef of key-values that an action can provide to a debugging screen

scheme

Any defined scheme for the action

meta

Provided by Moose.

AUTHORS

Catalyst Contributors, see Catalyst.pm

COPYRIGHT

This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.