logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Path::Dispatcher::Rule::Tokens - predicate is a list of tokens

Attributes

tokens
       Each token can be a literal string, a regular expression, or a list of either (which are taken to mean
       alternations). For example, the tokens:

           [ 'ticket', [ 'show', 'display' ], [ qr/^\d+$/, qr/^#\w{3}/ ] ]

       first matches "ticket". Then, the next token must be "show" or "display". The final token must be a
       number or a pound sign followed by three word characters.

       The results are the tokens in the original string, as they were matched. If you have three tokens, then
       "match->pos(1)" will be the string's first token ("ticket"), "match->pos(2)" its second ("display"), and
       "match->pos(3)" its third ("#AAA").

       Capture groups inside a regex token are completely ignored.

   delimiter
       A string that is used to tokenize the path. The delimiter must be a string because prefix matches use
       "join" on unmatched tokens to return the leftover path. In the future this may be extended to support
       having a regex delimiter.

       The default is a space, but if you're matching URLs you probably want to change this to a slash.

   case_sensitive
       Decide whether the rule matching is case sensitive. Default is 1, case sensitive matching.

Author

       Shawn M Moore, "<sartak at bestpractical.com>"

Description

       Rules of this class use a list of tokens to match the path.

Name

       Path::Dispatcher::Rule::Tokens - predicate is a list of tokens

Support

       Bugs may be submitted through the RT bug tracker <https://rt.cpan.org/Public/Dist/Display.html?Name=Path-
       Dispatcher> (or bug-Path-Dispatcher@rt.cpan.org <mailto:bug-Path-Dispatcher@rt.cpan.org>).

Synopsis

           my $rule = Path::Dispatcher::Rule::Tokens->new(
               tokens    => [ "comment", "show", qr/^\d+$/ ],
               delimiter => '/',
               block     => sub { display_comment(shift->pos(3)) },
           );

           $rule->match("/comment/show/25");

Version

       version 1.08

See Also