1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229
|
Revision history for Path-Dispatcher
1.08 2020-07-12 02:40:52Z
- add abstracts to modules that were missing them (RT#132909)
- add MooX::TypeTiny for optimized type checks
1.07 2020-02-29 20:55:07Z
- Switch from Any::Moose to Moo and Types::Standard
based on PRs from chresomanci and hashbangperl
1.06 2015-02-18
Switch packaging system to Dist::Zilla (David Pottage)
https://github.com/sartak/path-dispatcher/pull/1
Thanks to the CPAN Pull Request Challenge :)
1.05 2013-03-14
eval q{$'} before regex match when needed to soothe bleadperl
Thanks Dave Mitchell! http://www.nntp.perl.org/group/perl.perl5.porters/2013/03/msg200156.html
1.04 2011-09-01
Explicitly depend on Test::Fatal (reported by Jérôme Quelin [rt.cpan.org #70666])
Convert all tests from Test::Exception to Test::Fatal
1.03 2011-08-30
Provisional support for arbitrary payloads, not just code blocks, as results
See https://github.com/sartak/path-dispatcher/blob/master/t/200-payload.t
Eventually blocks will be deprecated, but not for a while. Internally blocks are
rewritten as payloads so if you're doing deep magic with PD you may be exposed to
that implementation detail.
1.02 2010-11-02
Various improvements to the handling of $match->leftover with undef
1.01 2010-10-24
Skip t/026-named-captures.t if you don't have 5.10.1
Give matches a ->parent for inspecting an Under prefix rule's captures etc
1.00 2010-10-17
Bump to 1.0 to indicate back compat breakage
Add match->named($key) for pulling out a named capture
Use Try::Tiny to avoid swallowing exceptions (rafl)
0.16 2010-10-17
** BACKWARDS INCOMPATIBLE CHANGE: Pass the match object into rule
** blocks rather than assigning $1, $2, $3. Use ->pos(1), (2), (3),
** etc. instead. This cleans up the code a lot and makes
** Path-Dispatcher more flexible.
Add support for named captures
Make all attributes read-only. If you need something to be read-write,
I am open to such a change. Just let me know!
Make _dispatcher_rule private
Remove trace/readable_attribute/name support. This wants to be
implemented in a different, better, more comprehensive way.
Add documentation for shell tab completion
Plenty other updated documentation
0.15 2010-03-16 09:40:40Z
** Factored Path-Dispatcher-Declarative into its own distribution
** Be sure to update your dependency lists!
Implement ->complete for Rule::Dispatch
Add Path::Dispatcher::Rule::Alternation
Implement case insensitivity for Rule::Eq
Add Path::Dispatcher::Rule::Sequence - like Rule::Tokens but
better!
Add Path::Dispatcher::Rule::Enum
Path autoboxing has been factored out into a private method for
more overridability
A few documentation improvements as usual :)
0.14 2009-12-31 13:18:19Z
Add Path::Dispatcher->complete for tab-completion
Handle delimiters better in Path::Dispatcher::Rule::Tokens
Factor out a _prefix method for rules to simplify their logic
0.13 2009-08-09 13:38:19Z
Add unshift_rule to classes that do Role::Rules
Several distribution improvements
0.12 2009-04-17 03:21:05Z
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 2009-04-15 02:47:50Z
Fix some misnamed keys caused by de-AttributeHelper-ing
Stop using some deprecated Moose features
Doc fixes (Sartak and confound)
0.10 2009-03-06 23:40:42Z
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 2009-02-09 21:12:18Z
Avoid using method modifiers since it's potentially another dep.
0.08 2009-02-05 12:15:38Z
Inline uses of MooseX::AttributeHelpers.
Now use "Any::Moose" (basically Squirrel done right)
0.07 2009-01-28 01:39:37Z
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 2008-11-15 21:02:29Z
New rule type "Empty" which matches only the empty path.
Declarative:
on '' now matches only the empty path.
0.05 2008-11-15 16:36:41Z
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 2008-10-28 17:56:41Z
Dist fixes
0.03 2008-10-28 17:42:47Z
"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 2008-10-20 14:10:12Z
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 2008-08-27 11:04:18Z
Initial release
|