Class: SynapsePayments::Users

Inherits:
Object
  • Object
show all
Defined in:
lib/synapse_payments/users.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Users

Returns a new instance of Users.



4
5
6
# File 'lib/synapse_payments/users.rb', line 4

def initialize(client)
  @client = client
end

Instance Method Details

#allObject



8
9
10
# File 'lib/synapse_payments/users.rb', line 8

def all
  @client.get(path: '/users')
end

#authenticate_as(id:, refresh_token:, fingerprint: nil) ⇒ Object



12
13
14
15
# File 'lib/synapse_payments/users.rb', line 12

def authenticate_as(id:, refresh_token:, fingerprint: nil)
  response = @client.post(path: "/oauth/#{id}", fingerprint: fingerprint, json: { refresh_token: refresh_token })
  UserClient.new(@client, id, fingerprint, response)
end

#create(name:, email:, phone:, fingerprint: nil, is_business: false, **args) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/synapse_payments/users.rb', line 17

def create(name:, email:, phone:, fingerprint: nil, is_business: false, **args)
  data = {
    logins: email.is_a?(Array) ? email : [{ email: email }],
    phone_numbers: phone.is_a?(Array) ? phone : [phone],
    legal_names: name.is_a?(Array) ? name : [name],
    extra: {
      note: args[:note],
      supp_id: args[:supp_id],
      is_business: is_business
    }
  }

  @client.post(path: '/users', json: data, fingerprint: fingerprint)
end

#find(id) ⇒ Object



32
33
34
# File 'lib/synapse_payments/users.rb', line 32

def find(id)
  @client.get(path: "/users/#{id}")
end