class Freshdesk::Resources::Base

Attributes

collection_path[RW]

Public Class Methods

new() click to toggle source
# File lib/freshdesk/resources/base.rb, line 17
def initialize
  self.class.base_uri "https://#{Freshdesk.configuration.domain}.freshdesk.com/api/v2"
  @basic_auth = { username: Freshdesk.configuration.api_key }
end

Public Instance Methods

all(params = nil) click to toggle source
# File lib/freshdesk/resources/base.rb, line 30
def all(params = nil)
  get(self.class.collection_path, query: params)
end
create(params) click to toggle source
# File lib/freshdesk/resources/base.rb, line 22
def create(params)
  post(self.class.collection_path, body: params)
end
destroy(id) click to toggle source
# File lib/freshdesk/resources/base.rb, line 38
def destroy(id)
  delete(File.join(self.class.collection_path, id.to_s))
end
find(id, params = nil) click to toggle source
# File lib/freshdesk/resources/base.rb, line 26
def find(id, params = nil)
  get(File.join(self.class.collection_path, id.to_s), query: params)
end
update(id, params) click to toggle source
# File lib/freshdesk/resources/base.rb, line 34
def update(id, params)
  put(File.join(self.class.collection_path, id.to_s), body: params)
end

Private Instance Methods

delete(*args) click to toggle source
# File lib/freshdesk/resources/base.rb, line 56
def delete(*args)
  request(:delete, *args)
end
get(*args) click to toggle source
# File lib/freshdesk/resources/base.rb, line 44
def get(*args)
  request(:get, *args)
end
post(*args) click to toggle source
# File lib/freshdesk/resources/base.rb, line 48
def post(*args)
  request(:post, *args)
end
put(*args) click to toggle source
# File lib/freshdesk/resources/base.rb, line 52
def put(*args)
  request(:post, *args)
end
request(method_type, path, options = {}) click to toggle source
# File lib/freshdesk/resources/base.rb, line 60
def request(method_type, path, options = {})
  options[:basic_auth] ||= @basic_auth

  response = self.class.send(method_type, path, options)
  return unless response

  response.parsed_response
end