Class: Atrium::Member
- Inherits:
-
Object
- Object
- Atrium::Member
- Includes:
- ActiveAttr::Attributes, ActiveAttr::Model
- Defined in:
- lib/atrium/member.rb
Class Method Summary collapse
-
.create(user_guid:, institution_code:, credentials:) ⇒ Object
CLASS METHODS.
- .list(user_guid:) ⇒ Object
- .read(user_guid:, member_guid:) ⇒ Object
Instance Method Summary collapse
-
#accounts ⇒ Object
INSTANCE METHODS.
- #aggregate ⇒ Object
- #aggregation_status ⇒ Object
- #challenges ⇒ Object
- #delete ⇒ Object
- #read_account(account_guid:) ⇒ Object
- #resume(challenge_credentials) ⇒ Object
- #transactions ⇒ Object
- #update(params) ⇒ Object
Class Method Details
.create(user_guid:, institution_code:, credentials:) ⇒ Object
CLASS METHODS
19 20 21 22 23 24 25 26 |
# File 'lib/atrium/member.rb', line 19 def self.create(user_guid:, institution_code:, credentials:) endpoint = "/users/#{user_guid}/members" body = create_params(institution_code, credentials) member_response = ::Atrium.client.make_request(:post, endpoint, body) member_params = member_response["member"] ::Atrium::Member.new(member_params) end |
.list(user_guid:) ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/atrium/member.rb', line 28 def self.list(user_guid:) endpoint = "/users/#{user_guid}/members" members_response = ::Atrium.client.make_request(:get, endpoint) members_response["members"].map do |member| ::Atrium::Member.new(member) end end |
.read(user_guid:, member_guid:) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/atrium/member.rb', line 37 def self.read(user_guid:, member_guid:) endpoint = "/users/#{user_guid}/members/#{member_guid}" member_response = ::Atrium.client.make_request(:get, endpoint) member_params = member_response["member"] ::Atrium::Member.new(member_params) end |
Instance Method Details
#accounts ⇒ Object
INSTANCE METHODS
48 49 50 51 52 53 54 55 |
# File 'lib/atrium/member.rb', line 48 def accounts endpoint = "users/#{self.user_guid}/members/#{self.guid}/account" accounts_response = ::Atrium.client.make_request(:get, endpoint) accounts_response["accounts"].map do |account| ::Atrium::Account.new(account) end end |
#aggregate ⇒ Object
57 58 59 60 61 62 63 64 |
# File 'lib/atrium/member.rb', line 57 def aggregate endpoint = "users/#{self.user_guid}/members/#{self.guid}/aggregate" member_response = ::Atrium.client.make_request(:post, endpoint) member_params = member_response["member"] self.assign_attributes(member_params) self end |
#aggregation_status ⇒ Object
66 67 68 69 70 71 72 73 |
# File 'lib/atrium/member.rb', line 66 def aggregation_status endpoint = "/users/#{self.user_guid}/members/#{self.guid}/status" member_response = ::Atrium.client.make_request(:get, endpoint) member_params = member_response["member"] self.assign_attributes(member_params) self end |
#challenges ⇒ Object
75 76 77 78 79 80 81 82 |
# File 'lib/atrium/member.rb', line 75 def challenges endpoint = "/users/#{self.user_guid}/members/#{self.guid}/challenges" member_response = ::Atrium.client.make_request(:get, endpoint) member_params = member_response["member"] self.assign_attributes(member_params) self end |
#delete ⇒ Object
84 85 86 87 88 89 |
# File 'lib/atrium/member.rb', line 84 def delete endpoint = "/users/#{self.user_guid}/members/#{self.guid}" ::Atrium.client.make_request(:delete, endpoint) self end |
#read_account(account_guid:) ⇒ Object
91 92 93 94 95 96 97 |
# File 'lib/atrium/member.rb', line 91 def read_account(account_guid:) endpoint = "/users/#{self.user_guid}/members/#{self.guid}/accounts/#{account_guid}" account_response = ::Atrium.client.make_request(:get, endpoint) account_params = account_response["account"] ::Atrium::Account.new(account_params) end |
#resume(challenge_credentials) ⇒ Object
99 100 101 102 103 104 105 106 107 |
# File 'lib/atrium/member.rb', line 99 def resume(challenge_credentials) endpoint = "/users/#{self.user_guid}/members/#{self.guid}/resume" body = resume_params(challenge_credentials) member_response = ::Atrium.client.make_request(:get, endpoint, body) member_params = member_response["member"] self.assign_attributes(member_params) self end |
#transactions ⇒ Object
119 120 121 122 123 124 125 126 |
# File 'lib/atrium/member.rb', line 119 def transactions endpoint = "users/#{self.user_guid}/members/#{self.guid}/transactions" transactions_response = ::Atrium.client.make_request(:post, endpoint) transactions_response["transactions"].map do |transaction| ::Atrium::Transaction.new(transaction) end end |
#update(params) ⇒ Object
109 110 111 112 113 114 115 116 117 |
# File 'lib/atrium/member.rb', line 109 def update(params) endpoint = "/users/#{self.user_guid}/members/#{self.guid}" body = member_body(params) member_response = ::Atrium.client.make_request(:put, endpoint, body) member_params = member_response["member"] self.assign_attributes(member_params) self end |