[Bps-public-commit] r16386 - in Path-Dispatcher/trunk: lib/Path/Dispatcher/Rule

sartak at bestpractical.com sartak at bestpractical.com
Mon Oct 20 07:10:08 EDT 2008


Author: sartak
Date: Mon Oct 20 07:10:07 2008
New Revision: 16386

Modified:
   Path-Dispatcher/trunk/   (props changed)
   Path-Dispatcher/trunk/lib/Path/Dispatcher/Rule/CodeRef.pm

Log:
 r74169 at onn:  sartak | 2008-10-20 07:10:01 -0400
 Rule::CodeRef doc


Modified: Path-Dispatcher/trunk/lib/Path/Dispatcher/Rule/CodeRef.pm
==============================================================================
--- Path-Dispatcher/trunk/lib/Path/Dispatcher/Rule/CodeRef.pm	(original)
+++ Path-Dispatcher/trunk/lib/Path/Dispatcher/Rule/CodeRef.pm	Mon Oct 20 07:10:07 2008
@@ -21,3 +21,40 @@
 
 1;
 
+__END__
+
+=head1 NAME
+
+Path::Dispatcher::Rule::CodeRef - predicate is any subroutine
+
+=head1 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!"
+
+=head1 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. Create a custom subclass of L<Path::Dispatcher::Rule> if
+necessary!
+
+=head1 ATTRIBUTES
+
+=head2 matcher
+
+A coderef that returns C<undef> if there's no match, otherwise a list of
+strings (the results).
+
+The coderef receives the path as both its one argument and C<$_>.
+
+=cut
+



More information about the Bps-public-commit mailing list