Class: Frame::Account

Inherits:
APIResource show all
Extended by:
Frame::APIOperations::Create, Frame::APIOperations::List
Includes:
Frame::APIOperations::Save
Defined in:
lib/frame/resources/account.rb

Constant Summary collapse

OBJECT_NAME =
"account"
DEPRECATED_METHODS =
%i[geo_compliance].freeze

Instance Attribute Summary

Attributes inherited from FrameObject

#id, #original_values

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Frame::APIOperations::Create

create

Methods included from Frame::APIOperations::List

list

Methods included from Frame::APIOperations::Save

#serialize_params

Methods inherited from APIResource

class_name, #refresh, resource_url, #resource_url

Methods included from Frame::APIOperations::Request

included

Methods inherited from FrameObject

#[], #[]=, construct_from, #each, #initialize, #initialize_from, #inspect, #keys, #serialize_params, #to_hash, #to_s, #update_attributes, #values

Constructor Details

This class inherits a constructor from Frame::FrameObject

Class Method Details

.confirm_kyc_prefill(id, opts = {}) ⇒ Object



61
62
63
# File 'lib/frame/resources/account.rb', line 61

def self.confirm_kyc_prefill(id, opts = {})
  request_object(:post, "/v1/accounts/#{CGI.escape(id)}/kyc_prefill/confirm", {}, opts)
end

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



17
18
19
# File 'lib/frame/resources/account.rb', line 17

def self.create(params = {}, opts = {})
  request_object(:post, "/v1/accounts", params, opts)
end

.disable(id, params = {}, opts = {}) ⇒ Object



33
34
35
# File 'lib/frame/resources/account.rb', line 33

def self.disable(id, params = {}, opts = {})
  request_object(:delete, "/v1/accounts/#{CGI.escape(id)}", params, opts)
end

.geo_compliance(id, opts = {}) ⇒ Object

Deprecated.

Use get_geo_compliance instead. Removed at v2.



66
67
68
# File 'lib/frame/resources/account.rb', line 66

def self.geo_compliance(id, opts = {})
  request_object(:get, "/v1/accounts/#{CGI.escape(id)}/geo_compliance", {}, opts)
end

.get_geo_compliance(id, opts = {}) ⇒ Object



57
58
59
# File 'lib/frame/resources/account.rb', line 57

def self.get_geo_compliance(id, opts = {})
  request_object(:get, "/v1/accounts/#{CGI.escape(id)}/geo_compliance", {}, opts)
end

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



21
22
23
# File 'lib/frame/resources/account.rb', line 21

def self.list(params = {}, opts = {})
  request_object(:get, "/v1/accounts", params, opts)
end

.object_nameObject



11
12
13
# File 'lib/frame/resources/account.rb', line 11

def self.object_name
  OBJECT_NAME
end

.payment_methods(id, opts = {}) ⇒ Object



41
42
43
# File 'lib/frame/resources/account.rb', line 41

def self.payment_methods(id, opts = {})
  request_object(:get, "/v1/accounts/#{CGI.escape(id)}/payment_methods", {}, opts)
end


45
46
47
# File 'lib/frame/resources/account.rb', line 45

def self.plaid_link_token(id, opts = {})
  request_object(:get, "/v1/accounts/#{CGI.escape(id)}/plaid_link_token", {}, opts)
end

.restrict(id, opts = {}) ⇒ Object



49
50
51
# File 'lib/frame/resources/account.rb', line 49

def self.restrict(id, opts = {})
  request_object(:post, "/v1/accounts/#{CGI.escape(id)}/restrict", {}, opts)
end

.retrieve(id, opts = {}) ⇒ Object



25
26
27
# File 'lib/frame/resources/account.rb', line 25

def self.retrieve(id, opts = {})
  request_object(:get, "/v1/accounts/#{CGI.escape(id)}", {}, opts)
end

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



37
38
39
# File 'lib/frame/resources/account.rb', line 37

def self.search(params = {}, opts = {})
  request_object(:get, "/v1/accounts/search", params, opts)
end

.unrestrict(id, opts = {}) ⇒ Object



53
54
55
# File 'lib/frame/resources/account.rb', line 53

def self.unrestrict(id, opts = {})
  request_object(:post, "/v1/accounts/#{CGI.escape(id)}/unrestrict", {}, opts)
end

.update(id, params = {}, opts = {}) ⇒ Object



29
30
31
# File 'lib/frame/resources/account.rb', line 29

def self.update(id, params = {}, opts = {})
  request_object(:patch, "/v1/accounts/#{CGI.escape(id)}", params, opts)
end

Instance Method Details

#save(params = {}, opts = {}) ⇒ Object



70
71
72
73
74
75
76
# File 'lib/frame/resources/account.rb', line 70

def save(params = {}, opts = {})
  values = serialize_params(self).merge(params)
  return self if values.empty?
  updated = request_object(:patch, "/v1/accounts/#{CGI.escape(self["id"])}", values, opts)
  initialize_from(updated)
  self
end