amazon_auth 0.4.1 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: fb52bb61159de3aeef649b0203530e590d59355d
4
- data.tar.gz: 2178634b98ead6d4c9196a9980a5b65311ab5148
2
+ SHA256:
3
+ metadata.gz: 8bd3624417b3a13baad3a2812cf7bdc6f874966e69290b3e5dce2bfb748b4a9a
4
+ data.tar.gz: fff02f6937501b76a01d16a9de7b9ade90b02b2e4ac5de8448b58293a69b8579
5
5
  SHA512:
6
- metadata.gz: 150b640f60be7bf3a1b8b0229514517adbd5d14a713cc7ab14eea6f680c4ecbb1186ed1604433f3294069951b40cdc4574c7616396c59ef81083ba0d0064fdf7
7
- data.tar.gz: 27d9bf5c9b4e7a7251451076474c99a8a08f38cdcf4e2a6c44e4841f4ee7e9884761d6d8c497987d3f5af377facd7bafb8953fe5471d85b7252c90386decc2f6
6
+ metadata.gz: 3dfdb0bf93116a962ab13314f7342837bb920371d35f9e0cb1ab26754d9b65d23237b2de6263d6621b2eb1dc3631f6ebe262c457695192882edf41d304090060
7
+ data.tar.gz: 3a72e83fc180ee2028b5b4b0382f0b290d631a233eb9aae4a71827c9eae7d90f91701b672c16a98066dcf7567c70aa27539faf6ec2c3e7c6ef2249af7549667b
@@ -1,7 +1,7 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.2.7
5
- - 2.3.4
6
- - 2.4.1
7
- before_install: gem install bundler -v 1.14.6
4
+ - 2.5.8
5
+ - 2.6.6
6
+ - 2.7.1
7
+ before_install: gem install bundler
data/Rakefile CHANGED
@@ -3,4 +3,4 @@ require "rspec/core/rake_task"
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task default: :spec
@@ -1,4 +1,3 @@
1
- # coding: utf-8
2
1
  lib = File.expand_path('../lib', __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require 'amazon_auth/version'
@@ -3,12 +3,10 @@
3
3
  require_relative "../lib/amazon_auth"
4
4
  require 'highline/import'
5
5
 
6
- result = []
7
-
8
- domain = ask("Enter your amazon domain: ") { |q| q.echo = true ; q.default = AmazonInfo.domain }
6
+ domain = ask("Enter your amazon domain: ") { |q| q.echo = true; q.default = AmazonInfo.domain }
9
7
  login = ask("Enter your #{domain} username: ") { |q| q.echo = true }
10
8
  passwd = ask("Enter your #{domain} password: ") { |q| q.echo = "*" }
11
- salt = ask("Enter your salt: ") { |q| q.default = AmazonAuth::Converter.default_salt ; q.echo = true }
9
+ salt = ask("Enter your salt: ") { |q| q.default = AmazonAuth::Converter.default_salt; q.echo = true }
12
10
 
13
11
  raise "Empty login or password" if login.to_s.size == 0 || passwd.to_s.size == 0
14
12
 
@@ -1,6 +1,5 @@
1
1
  module AmazonAuth
2
2
  module CommonExtension
3
-
4
3
  def log(message)
5
4
  return unless (@options[:debug] || @options[:verbose])
6
5
  puts "[#{Time.current.strftime('%Y-%m-%d %H:%M:%S')}] #{message}" +
@@ -1,6 +1,5 @@
1
1
  module AmazonAuth
2
2
  module SessionExtension
3
-
4
3
  def doc
5
4
  Nokogiri.HTML(session.html)
6
5
  end
@@ -12,7 +11,7 @@ module AmazonAuth
12
11
 
13
12
  def wait_for_selector(selector, options = {})
14
13
  options.fetch(:wait_time, 3).times do
15
- if session.first(selector)
14
+ if session.first(selector, minimum: 0)
16
15
  break
17
16
  else
18
17
  sleep(1)
@@ -30,7 +29,7 @@ module AmazonAuth
30
29
  session.visit url
31
30
  debug "Visiting #{url}"
32
31
  restore_cookies if keep_cookie?
33
- if (link = links_for('a').find{|link| link =~ %r{\A/gp/navigation/redirector.html} })
32
+ if (link = links_for('a').find{|l| l =~ %r{\A/gp/navigation/redirector.html} })
34
33
  debug "link: [#{link}]"
35
34
  session.visit(link)
36
35
  end
@@ -50,12 +49,22 @@ module AmazonAuth
50
49
  end
51
50
 
52
51
  def submit_signin_form
52
+ # Click account switcher if it is displayed
53
+ dom_account_switcher = '.cvf-account-switcher-profile-details, .cvf-account-switcher-claim'
54
+ session.first(dom_account_switcher).click if session.has_selector?(dom_account_switcher)
55
+
53
56
  debug "Begin submit_signin_form"
54
57
  unless session.has_selector?('#signInSubmit')
55
- log "signInSubmit button not found in this page"
56
- return false
58
+ if session.has_selector?('input#continue') && session.has_selector?('input#ap_email')
59
+ log "Found a form which asks only email"
60
+ session.fill_in 'ap_email', with: login
61
+ session.first('input#continue').click
62
+ else
63
+ log "signInSubmit button not found in this page"
64
+ return false
65
+ end
57
66
  end
58
- session.fill_in 'ap_email', with: login if session.first('#ap_email') && session.first('#ap_email').value.blank?
67
+ session.fill_in 'ap_email', with: login if session.first('#ap_email', minimum: 0) && session.first('#ap_email').value.blank?
59
68
  session.fill_in 'ap_password', with: password
60
69
  session.first('#signInSubmit').click
61
70
  log "Clicked signInSubmit"
@@ -98,11 +107,12 @@ module AmazonAuth
98
107
 
99
108
  private
100
109
 
101
- def login
102
- options.fetch(:login, Converter.decode(ENV['AMAZON_USERNAME_CODE']))
103
- end
104
- def password
105
- options.fetch(:password, Converter.decode(ENV['AMAZON_PASSWORD_CODE']))
106
- end
110
+ def login
111
+ options.fetch(:login, Converter.decode(ENV['AMAZON_USERNAME_CODE']))
112
+ end
113
+
114
+ def password
115
+ options.fetch(:password, Converter.decode(ENV['AMAZON_PASSWORD_CODE']))
116
+ end
107
117
  end
108
118
  end
@@ -1,3 +1,3 @@
1
1
  module AmazonAuth
2
- VERSION = "0.4.1"
2
+ VERSION = "0.4.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amazon_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuho Yamaguchi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-01-22 00:00:00.000000000 Z
11
+ date: 2020-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
@@ -196,8 +196,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
196
196
  - !ruby/object:Gem::Version
197
197
  version: '0'
198
198
  requirements: []
199
- rubyforge_project:
200
- rubygems_version: 2.6.13
199
+ rubygems_version: 3.0.8
201
200
  signing_key:
202
201
  specification_version: 4
203
202
  summary: Login amazon.