On Jul 5, 2010, at 12:38 PM, Wincent Colaiuta wrote: > El 05/07/2010, a las 19:17, David Chelimsky escribió: > >> On Jul 5, 2010, at 11:58 AM, Wincent Colaiuta wrote: >> >>> El 05/07/2010, a las 18:18, David Chelimsky escribió: >>> >>>> The thing that concerns me the most is the DestinationParser. Even though >>>> it seems simple, that's the sort of code that ends up making rspec-rails a >>>> rails-dependent maintenance problem. >>> >>> But seeing as we're wrapping Rails assertions we're always going to be >>> vulnerable to upstream changes. We're vulnerable to them right now in the >>> existing route_to matcher. >> >> Sort of. What route_to relies on is a published API. If Rails changes the >> meaning of assert_routing, that will impact all Rails users, not just rspec >> users. >> >> This is a hot-button issue for me because relying on anything but published >> APIs has led to frantic day-after-rails-release rspec-rails releases in the >> past. Probably not really in an issue in this case, though. After looking at >> it some more, DestinationParser isn't really relying on any code in Rails, >> its relying on consistency in the routing API going forward. i.e. if Rails >> stops supporting this format, DestinationParser won't break, but the concept >> won't align correctly with Rails any longer. In this case, I think we're OK. > > Yes, it's not doing any more than "route_to" is already doing (ie. preparing > the parameters to be fed into "assert_routing"). It may have looked scarier > than it was; I just wanted to stick it in a module so as not to repeat the > code in each of the three matchers. > >>>> Anybody else besides me and Wincent and Matt want to weigh in here? >>> >>> Oops, does that mean I should stop posting? ;-) >> >> Immediately! >> >> Srsly, not a bit - just looking for other voices. > > Yes, would be good. To be honest, with a change like this (involving > interface design), I think slowly is the way to go.
Agreed, but there is a bit of pressure here - we don't have separate wrapper matchers assert_recognizes or assert_generates, and I want to ship 2.0.0 with a solution for that. Given that rails 3 should have a release candidate some time soon, there's no time like the present :) _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users