Class: Synapsis::APIResource

Inherits:
Object
  • Object
show all
Defined in:
lib/synapsis/api_resource.rb

Direct Known Subclasses

Bank, BankStatus, Card, Deposit, MassPay, Order, User, Withdrawal

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.class_nameObject



10
11
12
# File 'lib/synapsis/api_resource.rb', line 10

def self.class_name
  name.partition('::').last.downcase
end

.parse_as_synapse_resource(response) ⇒ Object



28
29
30
# File 'lib/synapsis/api_resource.rb', line 28

def self.parse_as_synapse_resource(response)
  return JSON.parse(response.body, object_class: Synapsis::Response)
end

.request(method = :post, url, params) ⇒ Object



2
3
4
5
6
7
8
# File 'lib/synapsis/api_resource.rb', line 2

def self.request(method = :post, url, params)
  Synapsis.connection.send(method) do |req|
    req.headers['Content-Type'] = 'application/json'
    req.url url
    req.body = JSON.generate(params)
  end
end

.return_response(response) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/synapsis/api_resource.rb', line 18

def self.return_response(response)
  parsed_response = JSON.parse(response.body, object_class: Synapsis::Response)

  if response.success?
    return parsed_response
  else
    raise Synapsis::Error, parsed_response[class_name] || parsed_response['reason'] || parsed_response['error_message']
  end
end

Instance Method Details

#class_nameObject



14
15
16
# File 'lib/synapsis/api_resource.rb', line 14

def class_name
  self.class.name.partition('::').last.downcase
end