Sha256: 9dd4a32b683579afa8448bf8d0de35d56b9ab83b04bf29340d41481443b7abba
Contents?: true
Size: 915 Bytes
Versions: 8
Compression:
Stored size: 915 Bytes
Contents
module Pingpp module APIOperations module Update module ClassMethods def update(id, params={}, opts={}) response, opts = request(:put, "#{resource_url(opts)}/#{id}", params, opts) Util.convert_to_pingpp_object(response, opts) end end def save(params={}, opts={}) update_attributes(params) params = params.reject { |k, _| respond_to?(k) } values = self.serialize_params(self).merge(params) values.delete(:id) response, opts = request(:put, save_url, values, opts) initialize_from(response, opts) self end def self.included(base) base.extend(ClassMethods) end private def save_url if self[:id] == nil && self.class.respond_to?(:create) self.class.resource_url else resource_url end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems