API versioning via the Accept header.
Install as a gem :
gem install raisin
or add directly to your
raisin allows you to encapsulate your routes within API versions, using a custom
Accept header to routes them to your controller accordingly.
It uses the fact that Rails router is resolved top to bottom.
# config/routes.rb Rails.application.routes.draw do api :v2 do resources :users, only: :show end api :v1, default: true do resources :users get '/users/sign_in', to: 'sessions#new' end end
Clients using the version
v2 will have access to all the methods from the
v1 version plus their
/users/show routes will be overriden the the new one define in the first
Raisin.configure do |c| c.vendor = 'mycompany' # replace with your vendor end
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request