class ZohoInventory::ZohoObject

Public Class Methods

accept_api_methods(methods) click to toggle source
# File lib/zoho_inventory/zoho_object.rb, line 14
def self.accept_api_methods(methods)
  @list = methods.include? :list
  @create = methods.include? :create
  @retrieve = methods.include? :retrieve
  @update = methods.include? :update
  @delete = methods.include? :delete
end
api_methods() click to toggle source
# File lib/zoho_inventory/zoho_object.rb, line 22
def self.api_methods
  {
    list: @list,
    create: @create ,
    retrieve: @retrieve,
    update: @update,
    delete: @delete
  }
end
build_url_from_path(path, query_params = {}) click to toggle source
# File lib/zoho_inventory/zoho_object.rb, line 44
def self.build_url_from_path(path, query_params = {})
  api_base = ZohoInventory.api_base
  organization_id, auth_token = ZohoInventory.credentials
  query_params.merge!({ authtoken: auth_token, organization_id: organization_id })
  encoded_params = URI.encode_www_form(query_params)
  "#{api_base}#{path}?#{encoded_params}"
end
create(params = {}) click to toggle source
# File lib/zoho_inventory/zoho_object.rb, line 65
def self.create(params = {})
  check_authorized_methods(:create)
  request(:post, resource_url, object_key, params)
end
delete(id) click to toggle source
# File lib/zoho_inventory/zoho_object.rb, line 80
def self.delete(id)
  check_authorized_methods(:delete)
  request(:delete, "#{resource_url}/#{id}")
end
list() click to toggle source
# File lib/zoho_inventory/zoho_object.rb, line 60
def self.list
  check_authorized_methods(:list)
  request(:get, resource_url, self::OBJECT_NAME)
end
object_key() click to toggle source
# File lib/zoho_inventory/zoho_object.rb, line 56
def self.object_key
  Util.remote_object_key[self::OBJECT_NAME]
end
resource_url() click to toggle source
# File lib/zoho_inventory/zoho_object.rb, line 52
def self.resource_url
  "/v1/#{self::OBJECT_NAME}s"
end
retrieve(id) click to toggle source
# File lib/zoho_inventory/zoho_object.rb, line 70
def self.retrieve(id)
  check_authorized_methods(:retrieve)
  request(:get, "#{resource_url}/#{id}", self::OBJECT_NAME)
end
update(id, params = {}) click to toggle source
# File lib/zoho_inventory/zoho_object.rb, line 75
def self.update(id, params = {})
  check_authorized_methods(:update)
  request(:put, "#{resource_url}/#{id}", object_key, params)
end

Private Class Methods

check_authorized_methods(method) click to toggle source
# File lib/zoho_inventory/zoho_object.rb, line 39
def check_authorized_methods(method)
  raise "You cannot call #{method.to_s} on this resource" unless api_methods[method]
end
client() click to toggle source
# File lib/zoho_inventory/zoho_object.rb, line 35
def client
  ZohoInventory::Client.new
end