Revision history for Path-Dispatcher 0.12 Fri Apr 17 03:21:05 2009 Fix a bug with undefined capture variables being converted to the empty string and throwing warnings (reported by obra) Give Path::Dispatcher::Rule::Dispatch a "rules" method 0.11 Wed Apr 15 02:47:50 2009 Fix some misnamed keys caused by de-AttributeHelper-ing Stop using some deprecated Moose features Doc fixes (Sartak and confound) 0.10 Fri Mar 6 23:40:42 2009 The way you specify token_delimiter and case_sensitive_tokens has changed! You now say: use Path::Dispatcher::Declarative -base, -defaults => { token_delimiter => '/', case_sensitive_tokens => 0, }; Added Path::Dispatcher::Cookbook (grink) Added Path::Dispatcher::Builder which now backs Path::Dispatcher::Declarative (grink) then {} rule which is an "always" with that uses next_rule (grink) chain {} rule which is like Catalyst's chain (grink) Remove the last vestiges of stages (Sartak) Many minor fixes (Sartak) 0.09 Mon Feb 9 21:12:18 2009 Avoid using method modifiers since it's potentially another dep. 0.08 Thu Feb 5 12:15:38 2009 Inline uses of MooseX::AttributeHelpers. Now use "Any::Moose" (basically Squirrel done right) 0.07 Wed Jan 28 01:39:37 2009 Paths are now boxed with the new Path::Dispatcher::Path. New rule type "Intersection" which matches only when each of its subrules match. New rule type "Metadata" which matches the optional metadata (a hash) of the path. The sugar for this is: on { foo => "bar" } New rule type "Eq" which just does basic string equality. Rules can now be named. In Path::Dispatcher::Declarative, each rule is named with its dispatcher's name and the file:line where the rule was defined. Dispatch tracing output, for debugging. Set environment variable PATH_DISPATCHER_TRACE to a number. The higher the number, the more output will be generated. The current maximum value of 10 will dump code references. 0.06 Sat Nov 15 21:02:29 2008 New rule type "Empty" which matches only the empty path. Declarative: on '' now matches only the empty path. 0.05 Sat Nov 15 16:36:41 2008 Improve test coverage New rule type "Always" which always matches. Match: ends_dispatch is now an attribute Rule::Tokens: Support for case insensitive matching Fix for tokens' type constraint Dispatcher: Allow rules to be specified in the constructor (a typo prevented it) Dispatch: first_match, has_match methods which do what you'd expect The run method will now collect return values and return them Declarative: redispatch_to sugar which adds a Dispatch rule "on '' => sub" as a special case will match all paths 0.04 Tue Oct 28 17:56:41 2008 Dist fixes 0.03 Tue Oct 28 17:42:47 2008 "rewrite" rules Super dispatchers are GONE! Yay. New Rule::Dispatch which just takes some other dispatcher. nothingmuch++ Rule::Tokens: Fix for always matching just a prefix whether you wanted to or not Make tokenization and untokenization into methods for overriding Declarative: -base is required, otherwise unrelated modules using your dispatcher would get their @ISA set! 0.02 Mon Oct 20 14:10:12 2008 Documentation! Prefix matches "under" rules Remove stages until they're actually needed Rule: The codeblock is no longer required Empty tokens are ignored The token attribute is now 'delimiter' instead of 'splitter' Allow regexes and alternations in the token rules Match: No longer Dispatch::Match Created by the Rule instead of the Dispatcher Declarative: You now must subclass Path::Dispatcher::Declarative Allow overriding the token delimiter 0.01 Wed Aug 27 11:04:18 2008 Initial release