abdera-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ed_ruder <eru...@hi5.com>
Subject Re: Route matching too liberal?
Date Wed, 18 Jun 2008 22:35:16 GMT

James,

I'm not very familiar with Abdera, but I have browsed the source a bit after
hitting the same limitation that Jim reported, while working on Shindig. I
*think* that a simple change in RouteManager could alleviate some (and for
me, I think, all) of the limitation.

When resolving a route, Rails walks through its routes in the order that
they are defined. RouteManager walks through the targets.entrySet, which is
unordered. If RouteManager kept a targets List<> instead of a targets Map<>,
it could walk through the routes in order. (There would need to be a new
class defined, to hold both the Route and TargetType, but it would be very
simple.)

To work around the limitation Jim describes, a client would define a
/base/:collection/:entry route before the /base/:collection route.

WDYT?

Ed


James M Snell wrote:
> 
> Ruby matching can span segments if a default value for the missing 
> variables is provided.  We, however, don't have default values for our 
> variables.  It would make sense for us to tighten up the matching rules.
> 
> - James
> 
> Jim Ancona wrote:
>> I have run into some problems with my Routes matching unexpectedly. 
>> Before filing a bug, I thought I'd ask for feedback on whether the 
>> current behavior is correct.
>> 
>> The current algorithm attempts to match the non-variable parts of the 
>> pattern, setting the variable to whatever is in between.
>> 
>> So the pattern "/base/:collection/" matches both "/base/test/" and 
>> "/base/test/123/". In the second case, the value of the collection 
>> variable is "test/123". In my opinion, not allowing matches to span URI 
>> segments would be less prone to unintuitive results.
>> 
>> FWIW, a quick glance at some docs on Ruby Routes seems to indicate that 
>> they do not span URI path segments.
>> 
>> Thoughts?
>> 
>> Jim
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Route-matching-too-liberal--tp15348853p17993519.html
Sent from the abdera-dev mailing list archive at Nabble.com.


Mime
View raw message