abdera-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Calavera" <david.calav...@gmail.com>
Subject Re: Route matching too liberal?
Date Wed, 18 Jun 2008 23:01:59 GMT
I think it makes more sense that the Map was a sortedMap, thus the entrySet
will be a sortedSet and I suppose your problem will be solved.

If you are agree I can change it.

On Thu, Jun 19, 2008 at 12:35 AM, ed_ruder <eruder@hi5.com> wrote:

>
> 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.
>
>


-- 
David Calavera
http://www.thinkincode.net

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message