Class: Atrium::User

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.create(identifier:, is_disabled:, metadata:) ⇒ Object

CLASS METHODS



14
15
16
17
18
19
20
21
# File 'lib/atrium/user.rb', line 14

def self.create(identifier:, is_disabled:, metadata:)
  endpoint = "/users"
  body = user_body(identifier, is_disabled, )
  response = ::Atrium.client.make_request(:post, endpoint, body)

  user_params = response["user"]
  ::Atrium::User.new(user_params)
end

.listObject



23
24
25
26
27
28
29
30
# File 'lib/atrium/user.rb', line 23

def self.list
  endpoint = "/users"
  users_response = ::Atrium.client.make_request(:get, endpoint)

  users_response["users"].map do |user|
    ::Atrium::User.new(user)
  end
end

.read(guid:) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/atrium/user.rb', line 32

def self.read(guid:)
  endpoint = "/users/#{guid}"
  response = ::Atrium.client.make_request(:get, endpoint)

  user_params = response["user"]
  ::Atrium::User.new(user_params)
end

Instance Method Details

#accountsObject

INSTANCE METHODS



43
44
45
46
47
48
49
50
# File 'lib/atrium/user.rb', line 43

def accounts
  endpoint = "/users/#{self.guid}/accounts"
  response = ::Atrium.client.make_request(:get, endpoint)

  response["accounts"].map do ||
    ::Atrium::Account.new()
  end
end

#deleteObject



52
53
54
55
56
57
# File 'lib/atrium/user.rb', line 52

def delete
  endpoint = "/users/#{self.guid}"
  ::Atrium.client.make_request(:delete, endpoint)

  self
end

#membersObject



59
60
61
62
63
64
65
66
# File 'lib/atrium/user.rb', line 59

def members
  endpoint = "/users/#{self.guid}/members"
  response = ::Atrium.client.make_request(:get, endpoint)

  response["members"].map do |member|
    ::Atrium::Member.new(member)
  end
end

#transactionsObject



68
69
70
71
72
73
74
75
# File 'lib/atrium/user.rb', line 68

def transactions
  endpoint = "/users/#{self.guid}/transactions"
  response = ::Atrium.client.make_request(:get, endpoint)

  response["transactions"].map do |transaction|
    ::Atrium::Transaction.new(transaction)
  end
end

#update(params) ⇒ Object



77
78
79
80
81
82
83
84
85
# File 'lib/atrium/user.rb', line 77

def update(params)
  endpoint = "/users/#{self.guid}"
  body = update_params(params)
  response = ::Atrium.client.make_request(:put, endpoint, body)

  user_params = response["user"]
  self.assign_attributes(user_params)
  self
end