class ArmorPayments::Resource
Attributes
authenticator[RW]
host[RW]
uri_root[RW]
Public Class Methods
new(host, authenticator, uri_root)
click to toggle source
# File lib/armor_payments/api/resource.rb, line 5 def initialize host, authenticator, uri_root self.host = host self.authenticator = authenticator self.uri_root = uri_root end
Public Instance Methods
all()
click to toggle source
# File lib/armor_payments/api/resource.rb, line 34 def all headers = authenticator.secure_headers 'get', uri request :get, { path: uri, headers: headers } end
connection()
click to toggle source
# File lib/armor_payments/api/resource.rb, line 11 def connection @connection ||= Excon.new(host, headers: { 'Accept' => 'application/json' }) end
get(object_id)
click to toggle source
# File lib/armor_payments/api/resource.rb, line 39 def get object_id headers = authenticator.secure_headers 'get', uri(object_id) request :get, { path: uri(object_id), headers: headers } end
request(method, params)
click to toggle source
If possible, parse the JSON
# File lib/armor_payments/api/resource.rb, line 26 def request method, params response = connection.send(method, params) if response.get_header('Content-Type') =~ /json/i response.body = JSON.parse response.body end response end
resource_name()
click to toggle source
# File lib/armor_payments/api/resource.rb, line 15 def resource_name self.class.to_s.downcase.split('::').last end
uri(object_id = nil)
click to toggle source
# File lib/armor_payments/api/resource.rb, line 19 def uri object_id = nil base = "#{uri_root}/#{resource_name}" base += "/#{object_id}" if object_id base end