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