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
dependsoption 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.