module Pingpp::APIOperations::Update

Public Class Methods

included(base) click to toggle source
# File lib/pingpp/api_operations/update.rb, line 26
def self.included(base)
  base.extend(ClassMethods)
end

Public Instance Methods

save(params={}, opts={}) click to toggle source
# File lib/pingpp/api_operations/update.rb, line 11
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

Private Instance Methods

save_url() click to toggle source
# File lib/pingpp/api_operations/update.rb, line 32
def save_url
  if self[:id] == nil && self.class.respond_to?(:create)
    self.class.resource_url
  else
    resource_url
  end
end