Class: AmazonAuth::Client

Inherits:
Object
  • Object
show all
Includes:
CommonExtension, SessionExtension
Defined in:
lib/amazon_auth/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from SessionExtension

#alert_displayed?, #doc, #find_sign_in_link, #image_recognition_displayed?, #initial_url, #keep_cookie?, #links_for, #restore_cookies, #retry_signin_form_with_image_recognition, #sign_in, #submit_signin_form, #wait_for_selector

Methods included from CommonExtension

#debug, #log

Constructor Details

#initialize(options = {}) ⇒ Client

Returns a new instance of Client.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/amazon_auth/client.rb', line 8

def initialize(options = {})
  @options = options
  @driver = options.fetch(:driver, :selenium)
  # Check credentials
  raise('AMAZON_USERNAME_CODE is required.') unless (options[:login] || ENV['AMAZON_USERNAME_CODE']).present?
  raise('AMAZON_PASSWORD_CODE is required.') unless (options[:password] || ENV['AMAZON_PASSWORD_CODE']).present?
  Converter.salt if options[:login].blank? || options[:password].blank?

  Capybara.save_path = options.fetch(:save_path, 'tmp') if Capybara.save_path.nil?
  Capybara.app_host = initial_url if Capybara.app_host.nil?
rescue => e
  puts "Please setup credentials of amazon_auth gem with folloing its instruction."
  raise e
end

Instance Attribute Details

#optionsObject

Returns the value of attribute options.



6
7
8
# File 'lib/amazon_auth/client.rb', line 6

def options
  @options
end

Instance Method Details

#inspectObject

Hide instance variables of credentials on console



28
29
30
# File 'lib/amazon_auth/client.rb', line 28

def inspect
  to_s
end

#sessionObject



23
24
25
# File 'lib/amazon_auth/client.rb', line 23

def session
  @session ||= Capybara::Session.new(@driver)
end