Class: Atrium::Member

Inherits:
Object
  • Object
show all
Includes:
ActiveAttr::Attributes, ActiveAttr::Model
Defined in:
lib/atrium/member.rb

Class Method Summary collapse

Instance Method Summary collapse

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

#accountsObject

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 ||
    ::Atrium::Account.new()
  end
end

#aggregateObject



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_statusObject



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

#challengesObject



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

#deleteObject



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 (account_guid:)
  endpoint = "/users/#{self.user_guid}/members/#{self.guid}/accounts/#{}"
   = ::Atrium.client.make_request(:get, endpoint)

   = ["account"]
  ::Atrium::Account.new()
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

#transactionsObject



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