Skip to content

mirego/patch-patch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PatchPatch
PatchPatch changes Rails’ default behavior of mapping PUT and PATCH
requests on resources to the same action.


Installation

Add this line to your application's Gemfile:

gem 'patch-patch'

And then execute:

$ bundle

Usage

PatchPatch hooks itself automatically into Rails’ routing engine. You don’t have to enable or configure it.

Let’s say we have a RESTful API with a single users resource.

# config/routes.rb
Foo::Application.routes.draw do
  resources :users
end

Before

$ rake routes
   Prefix Verb   URI Pattern               Controller#Action
    users GET    /users(.:format)          users#index
          POST   /users(.:format)          users#create
 new_user GET    /users/new(.:format)      users#new
edit_user GET    /users/:id/edit(.:format) users#edit
     user GET    /users/:id(.:format)      users#show
          PATCH  /users/:id(.:format)      users#update
          PUT    /users/:id(.:format)      users#update
          DELETE /users/:id(.:format)      users#destroy

After

$ rake routes
   Prefix Verb   URI Pattern               Controller#Action
    users GET    /users(.:format)          users#index
          POST   /users(.:format)          users#create
 new_user GET    /users/new(.:format)      users#new
edit_user GET    /users/:id/edit(.:format) users#edit
     user PATCH  /users/:id(.:format)      users#partial_update
          GET    /users/:id(.:format)      users#show
          PATCH  /users/:id(.:format)      users#update
          PUT    /users/:id(.:format)      users#update
          DELETE /users/:id(.:format)      users#destroy

Note: the old PATCH route is still there but it will never be matched since our #partial_update route comes first. The old PUT route will still route to #update though.

License

PatchPatch is © 2013 Mirego and may be freely distributed under the New BSD license. See the LICENSE.md file.

The patch logo is based on this lovely icon by Christina W, from The Noun Project. Used under a Creative Commons BY 3.0 license.

About Mirego

Mirego is a team of passionate people who believe that work is a place where you can innovate and have fun. We're a team of talented people who imagine and build beautiful Web and mobile applications. We come together to share ideas and change the world.

We also love open-source software and we try to give back to the community as much as we can.

About

[Deprecated] PatchPatch changes Rails’ default behavior of mapping PUT and PATCH requests on resources to the same action.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages