class Synapsis::APIResource
Public Class Methods
class_name()
click to toggle source
# File lib/synapsis_v3/api_resource.rb, line 27 def self.class_name name.split('::').last.downcase end
class_name_pluralized()
click to toggle source
# File lib/synapsis_v3/api_resource.rb, line 31 def self.class_name_pluralized "#{class_name}s" end
parse_as_synapse_resource(response)
click to toggle source
# File lib/synapsis_v3/api_resource.rb, line 55 def self.parse_as_synapse_resource(response) return JSON.parse(response.body, object_class: Synapsis::Response) end
request(method, url, params, headers = {})
click to toggle source
# File lib/synapsis_v3/api_resource.rb, line 2 def self.request(method, url, params, headers = {}) Synapsis.connection.send(method) do |req| req.headers['Content-Type'] = 'application/json' req.headers['X-SP-LANG'] = 'EN' # Set language to English req.headers['X-SP-GATEWAY'] = "#{Synapsis.client_id}|#{Synapsis.client_secret}" if headers[:oauth_key] && headers[:fingerprint] req.headers['X-SP-USER'] = "#{headers[:oauth_key]}|#{headers[:fingerprint]}" end if headers[:ip_address] req.headers['X-SP-USER-IP'] = headers[:ip_address] end if Synapsis.environment == 'production' req.headers['X-SP-PROD'] = 'YES' else req.headers['X-SP-PROD'] = 'NO' end req.url url req.body = JSON.generate(params) end end
return_response(response)
click to toggle source
# File lib/synapsis_v3/api_resource.rb, line 39 def self.return_response(response) parsed_response = JSON.parse(response.body, object_class: Synapsis::Response) if response.success? return parsed_response else puts parsed_response raise Synapsis::Error.new( error: parsed_response.error, http_code: parsed_response.http_code, error_code: parsed_response.error_code, success: parsed_response.success ) end end
Protected Class Methods
client_credentials()
click to toggle source
# File lib/synapsis_v3/api_resource.rb, line 61 def self.client_credentials { "client" => { "client_id" => Synapsis.client_id, "client_secret" => Synapsis.client_secret } } end
Public Instance Methods
class_name()
click to toggle source
# File lib/synapsis_v3/api_resource.rb, line 35 def class_name self.class.name.split('::').last.downcase end