     config = assign {method: 'put', id: config.data.id}, config
     @fetch(config)
 
-  patch: @put
+  patch: (config) =>
+    config = assign {}, data: config unless config.data
+    config = assign {method: 'patch', id: config.data.id}, config
+    @fetch(config)
 
   remove: (config={}) =>
     @fetch(assign {method: 'delete'}, config)
 
-  update: (config) ->
+  update: (config) =>
     return @put(config) if config.data and config.data.id or config.id
     return @post(config)
 


  reduceError: (state, action) -> error: action.error, fetching: false

  fetch: (config={}) -> (dispatch) =>

    config = @transformConfig(config)



        return error

  get: (config) => @fetch(config)

  post: (config={}) =>
    config = assign {}, data: config unless config.data
