Class: TransferWise::APIResource

Inherits:
Object
  • Object
show all
Includes:
TransferWiseObject
Defined in:
lib/transfer_wise/api_resource.rb

Direct Known Subclasses

Account, Profile, Quote, Transfer

Class Method Summary collapse

Methods included from TransferWiseObject

#add_methods, included, #initialize, #initialize_from, #update_attributes

Class Method Details

.class_nameObject



5
6
7
# File 'lib/transfer_wise/api_resource.rb', line 5

def self.class_name
  self.name.split('::')[-1]
end

.collection_urlObject



13
14
15
16
17
18
# File 'lib/transfer_wise/api_resource.rb', line 13

def self.collection_url
  if self == APIResource
    raise NotImplementedError.new('APIResource is an abstract class. You should perform actions on its subclasses (Account, Transfer, etc.)')
  end
  "/v1/#{CGI.escape(class_name.downcase)}s"
end

.create(params = {}, opts = {}) ⇒ Object



20
21
22
23
# File 'lib/transfer_wise/api_resource.rb', line 20

def self.create(params={}, opts={})
  response = TransferWise::Request.request(:post, collection_url, params, opts)
  convert_to_transfer_wise_object(response)
end

.get(resource_id, headers = {}) ⇒ Object



30
31
32
33
# File 'lib/transfer_wise/api_resource.rb', line 30

def self.get(resource_id, headers = {})
  response = TransferWise::Request.request(:get, resource_url(resource_id), {}, headers)
  convert_to_transfer_wise_object(response)
end

.list(filters = {}, headers = {}) ⇒ Object



25
26
27
28
# File 'lib/transfer_wise/api_resource.rb', line 25

def self.list(filters = {}, headers = {})
  response = TransferWise::Request.request(:get, collection_url, filters, headers)
  convert_to_transfer_wise_object(response)
end

.resource_url(resource_id) ⇒ Object



9
10
11
# File 'lib/transfer_wise/api_resource.rb', line 9

def self.resource_url(resource_id)
  "#{collection_url}/#{resource_id}"
end