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:27:48 GMT
Ohh sure, I don't know what I was thinking on. I have to see if we'll lose
other capabilities with the change becouse currently I'm not sure.

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

>
> David,
>
> I don't think that's right.
>
> sortedMap keeps the map ordered by the natural ordering of its keys. The
> key
> of the targets map is a Route--I don't think this enhancement/change should
> affect the nature of the Route class, do you?
>
> Ed
>
>
> David Calavera wrote:
> >
> > 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
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Route-matching-too-liberal--tp15348853p17994070.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