NAME¶
Path::Dispatcher::Rule::CodeRef - predicate is any subroutine
SYNOPSIS¶
my $rule = Path::Dispatcher::Rule::CodeRef->new(
matcher => sub { time % 2 },
block => sub { warn "Odd time!" },
);
my $undef = $rule->match("foo"); # even time; no match :)
my $match = $rule->match("foo"); # odd time; creates a Path::Dispatcher::Match
$rule->run; # warns "Odd time!"
DESCRIPTION¶
Rules of this class can match arbitrarily complex values. This should be used
only when there is no other recourse, because there's no way we can inspect
how things match.
You're much better off creating a custom subclass of Path::Dispatcher::Rule if
at all possible.
ATTRIBUTES¶
matcher¶
A coderef that returns "undef" if there's no match, otherwise a list
of strings (the results).
The coderef receives the path object as its argument, and the path string as
$_.