class Trusona::Workers::UserAccountFinder
Finds user accounts
Public Class Methods
new(user_accounts_service: nil, account_lookups_service: nil)
click to toggle source
# File lib/trusona/workers/user_account_finder.rb, line 8 def initialize(user_accounts_service: nil, account_lookups_service: nil) @lookups = account_lookups_service || Trusona::Services::AccountLookupsService.new @user_accounts = user_accounts_service || Trusona::Services::UserAccountsService.new end
Public Instance Methods
find(opts)
click to toggle source
# File lib/trusona/workers/user_account_finder.rb, line 15 def find(opts) raise ArgumentError, 'Missing email or trusona id' unless contains_required_arguments(opts) resource = build_resource(opts) return @user_accounts.get(resource) if opts[:trusona_id] || opts['trusona_id'] @lookups.create(resource) if opts[:email] || opts['email'] end
Private Instance Methods
build_resource(options)
click to toggle source
# File lib/trusona/workers/user_account_finder.rb, line 32 def build_resource(options) Trusona::Resources::UserAccount.new(options) end
contains_required_arguments(opts)
click to toggle source
# File lib/trusona/workers/user_account_finder.rb, line 28 def contains_required_arguments(opts) opts[:email] || opts['email'] || opts[:trusona_id] || opts['trusona_id'] end