class ApiClient::Resource::Base

Public Class Methods

inherited(subclass) click to toggle source
Calls superclass method
# File lib/api_client/resource/base.rb, line 15
def inherited(subclass)
  super
  small_name = NameResolver.resolve(subclass.name)
  subclass.namespace small_name
  subclass.prefix    self.prefix
  subclass.always do
    name    = small_name
    pre_fix = prefix
    path ["", prefix, "#{name}s"].compact.join('/')
  end
end
scope(options = {}) click to toggle source
# File lib/api_client/resource/base.rb, line 27
def scope(options = {})
  scope_in_thread || ApiClient::Resource::Scope.new(self).params(options)
end

Public Instance Methods

destroy() click to toggle source
# File lib/api_client/resource/base.rb, line 41
def destroy
  get_scope.destroy(self.id)
end
get_scope() click to toggle source
# File lib/api_client/resource/base.rb, line 59
def get_scope
  original_scope || self.class
end
payload() click to toggle source
# File lib/api_client/resource/base.rb, line 45
def payload
  hash = self.to_hash
  hash.delete('id') # This key is never required
  hash
end
persisted?() click to toggle source
# File lib/api_client/resource/base.rb, line 33
def persisted?
  !!self.id
end
remote_create() click to toggle source
# File lib/api_client/resource/base.rb, line 55
def remote_create
  get_scope.create(payload)
end
remote_update() click to toggle source
# File lib/api_client/resource/base.rb, line 51
def remote_update
  get_scope.update(self.id, payload)
end
save() click to toggle source
# File lib/api_client/resource/base.rb, line 37
def save
  self.persisted? ? remote_update : remote_create
end