class Stytch::Users

Constants

PATH

Public Class Methods

new(connection) click to toggle source
# File lib/stytch/users.rb, line 11
def initialize(connection)
  @connection = connection
end

Public Instance Methods

create( email: nil, phone_number: nil, name: {}, create_user_as_pending: false, attributes: {} ) click to toggle source
# File lib/stytch/users.rb, line 33
def create(
  email: nil,
  phone_number: nil,
  name: {},
  create_user_as_pending: false,
  attributes: {}
)
  request = {
    email: email,
    phone_number: phone_number,
    create_user_as_pending: create_user_as_pending
  }

  request[:name] = name if name != {}
  request[:attributes] = attributes if attributes != {}

  post_request(PATH, request)
end
delete(user_id:) click to toggle source
# File lib/stytch/users.rb, line 70
def delete(user_id:)
  delete_request("#{PATH}/#{user_id}")
end
delete_email( email_id: ) click to toggle source
# File lib/stytch/users.rb, line 74
def delete_email(
  email_id:
)
  delete_request("#{PATH}/emails/#{email_id}")
end
delete_phone_number( phone_id: ) click to toggle source
# File lib/stytch/users.rb, line 80
def delete_phone_number(
  phone_id:
)
  delete_request("#{PATH}/phone_numbers/#{phone_id}")
end
get(user_id:) click to toggle source
# File lib/stytch/users.rb, line 15
def get(user_id:)
  get_request("#{PATH}/#{user_id}")
end
get_pending( limit: nil, starting_after_id: nil ) click to toggle source
# File lib/stytch/users.rb, line 19
def get_pending(
  limit: nil,
  starting_after_id: nil
)
  query_params = {
    limit: limit,
    starting_after_id: starting_after_id
  }

  request = request_with_query_params("#{PATH}/pending", query_params)

  get_request(request)
end
update( user_id:, name: {}, emails: [], phone_numbers: [], attributes: {} ) click to toggle source
# File lib/stytch/users.rb, line 52
def update(
  user_id:,
  name: {},
  emails: [],
  phone_numbers: [],
  attributes: {}
)
  request = {
    emails: format_emails(emails),
    phone_numbers: format_phone_numbers(phone_numbers)
  }

  request[:name] = name if name != {}
  request[:attributes] = attributes if attributes != {}

  put_request("#{PATH}/#{user_id}", request)
end

Private Instance Methods

format_emails(emails) click to toggle source
# File lib/stytch/users.rb, line 88
def format_emails(emails)
  e = []
  emails.each { |email| e << { email: email } }
  e
end
format_phone_numbers(phone_numbers) click to toggle source
# File lib/stytch/users.rb, line 94
def format_phone_numbers(phone_numbers)
  p = []
  phone_numbers.each { |phone_number| p << { phone_number: phone_number } }
  p
end