Hi folks,
Restful_route_version makes it easier for programmers to create different version of REStful or RESTlike APIs.
It extends Rails routing api, making following possible:
version_namespace :api do version_namespace(:v10,:cache_route => true) do resources :articles resources :comments resources :notes end
version_namespace(:v11, :cache_route => true) do inherit_routes("/api/v10", :except => %w(articles)) resources :articles resources :tags end end
But it goes beyond that, for all the inherited routes, it automatically defines new version of controllers, which inherit the previous versions. However, if you wish you can override specific controllers and actions, and it stays out the your way. It also comes with a inherited view resolver - and hence lets you have inheritable templates on Rails 3.0.x series.
This is a Rails 3 compatible release of gem and should work with Rails 3.1 as well.
More details:
https://github.com/gnufied/restful_route_version
Any questions or feedback is most welcome.