NAME
CHI::Cascade::Rule - a rule class
SYNOPSIS
$cascade->rule(
target => qr/^target_(\d+)$/,
depends => 'base_target',
code => sub {
my ( $rule, $target, $dep_values ) = @_;
# For executino of $cascade->run('target_12') will be:
#
# $rule->target eq $target
# $rule->depends === [ 'base_target' ]
# $rule->qr_params === ( 12 )
# $rule->params == [ 1, 2, 3 ]
},
params => [ 1, 2, 3 ]
);
$cascade->run('target_12');
CONSTRUCTOR
An instance of this object is created by CHI::Cascade in rule method.
DESCRIPTION
The instance of this object is passed to your code, dependencies coderefs by CHI::Cascade as first argument (The API of running this code was changed since v0.16) You can use it object as accessor to some parameters of your currect executed target.
METHODS
- qr_params
-
returns a list. Is used for getting a result of
=~
operation if target is described for rule throughqr//
operator. - depends
-
returns arrayref of dependencies (depends option of rule method) even if one scalar value is passed there (as one dependence). Always is defined even there no defined
depends
option forrule
. If 'depends' is coderef you will get a returned value of one. - target
-
returns current target as plain text after matching.
- params
-
returns any data of any type what were passed to params
- cascade
-
returns reference to CHI::Cascade instance object for this rule.
AUTHOR
This module has been written by Perlover <perlover@perlover.com>
LICENSE
This module is free software and is published under the same terms as Perl itself.