class Freshdesk::Resource
Attributes
endpoint[R]
params[R]
Public Class Methods
new(endpoint, params = {}, id = nil)
click to toggle source
# File lib/freshdesk/resource.rb, line 6 def initialize(endpoint, params = {}, id = nil) @endpoint = endpoint @params = params @id = id @domain = Freshdesk.domain @user_name_or_api_key = Freshdesk.user_name_or_api_key @password_or_x = Freshdesk.password_or_x @api_version = Freshdesk.api_version @resource ||= RestClient::Resource.new( api_url, @user_name_or_api_key, @password_or_x ) end
Public Instance Methods
api_url()
click to toggle source
# File lib/freshdesk/resource.rb, line 24 def api_url "https://#{@domain}.freshdesk.com/api/#{@api_version}#{@endpoint}" end
delete()
click to toggle source
# File lib/freshdesk/resource.rb, line 44 def delete @resource.delete(accept: "application/json") rescue RestClient::Exception => e raise e, api_error_message(e) end
get()
click to toggle source
# File lib/freshdesk/resource.rb, line 38 def get @resource.get(accept: "application/json") rescue RestClient::Exception => e raise e, api_error_message(e) end
json_payload()
click to toggle source
# File lib/freshdesk/resource.rb, line 28 def json_payload @params.to_json end
post()
click to toggle source
# File lib/freshdesk/resource.rb, line 32 def post @resource.post(json_payload, content_type: "application/json") rescue RestClient::Exception => e raise e, api_error_message(e) end
put()
click to toggle source
# File lib/freshdesk/resource.rb, line 50 def put @resource.put(json_payload, content_type: "application/json") rescue RestClient::Exception => e raise e, api_error_message(e) end
Private Instance Methods
api_error_message(e)
click to toggle source
# File lib/freshdesk/resource.rb, line 58 def api_error_message(e) "API Error: Your request is not successful." \ "If you are not able to debug this error properly, mail us at support@freshdesk.com with the follwing X-Request-Id" \ "X-Request-Id : #{e.response.headers[:x_request_id]}" \ "Response Code: #{e.response.code} Response Body: #{e.response.body}" end