capybara-sessionkeeper 0.1.6 → 0.1.7
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 +4 -4
- data/.rubocop.yml +42 -0
- data/.travis.yml +1 -0
- data/README.md +4 -2
- data/Rakefile +1 -1
- data/capybara-sessionkeeper.gemspec +5 -4
- data/lib/capybara/sessionkeeper.rb +8 -10
- data/lib/capybara/sessionkeeper/version.rb +1 -1
- metadata +30 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35d249a3dccc934a86394222b471423cbcdb21e89b0506f0e22ce9fb2c01afda
|
4
|
+
data.tar.gz: 5c7f4d2b7bd9690d0b639590c151420ffc523c2e94f714a99ec49192fcf10b4f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c78776d721905e088f0cf934b196e5c5c7705c1afa6e92a7fefebb31585f513a1ba5ecc271bdcba51cb2c46ccb0749d31afef0ad36b9f0c0a07b2104490d3d50
|
7
|
+
data.tar.gz: e2b09cc6574cb01ef2b066e2c4429e227a39924c27086570151cf8902ba68793bea9430ffcc5c5b913e9053d0a2b3c306579a0b3d1420e623e621710d22294c7
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
require: rubocop-rspec
|
2
|
+
|
3
|
+
# FIXME using json may be better
|
4
|
+
Security/MarshalLoad:
|
5
|
+
Enabled: false
|
6
|
+
|
7
|
+
|
8
|
+
Gemspec/OrderedDependencies:
|
9
|
+
Enabled: false
|
10
|
+
Metrics/AbcSize:
|
11
|
+
Enabled: false
|
12
|
+
Metrics/BlockLength:
|
13
|
+
Enabled: false
|
14
|
+
Metrics/LineLength:
|
15
|
+
Enabled: false
|
16
|
+
Layout/EmptyLineAfterGuardClause:
|
17
|
+
Enabled: false
|
18
|
+
Layout/SpaceBeforeBlockBraces:
|
19
|
+
Enabled: false
|
20
|
+
Layout/SpaceInsideBlockBraces:
|
21
|
+
Enabled: false
|
22
|
+
Security/YAMLLoad:
|
23
|
+
Enabled: false
|
24
|
+
Style/BlockDelimiters:
|
25
|
+
Enabled: false
|
26
|
+
Style/Documentation:
|
27
|
+
Enabled: false
|
28
|
+
Style/StringLiterals:
|
29
|
+
Enabled: false
|
30
|
+
|
31
|
+
RSpec/ExampleLength:
|
32
|
+
Enabled: false
|
33
|
+
RSpec/MultipleExpectations:
|
34
|
+
Enabled: false
|
35
|
+
|
36
|
+
Style/GlobalVars:
|
37
|
+
Exclude:
|
38
|
+
- "spec/**/*"
|
39
|
+
|
40
|
+
Lint/AmbiguousBlockAssociation:
|
41
|
+
Exclude:
|
42
|
+
- "spec/**/*"
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -32,7 +32,8 @@ require "capybara/sessionkeeper"
|
|
32
32
|
|
33
33
|
### Supported drivers
|
34
34
|
|
35
|
-
[Recommended] Chrome driver is supported.
|
35
|
+
[Recommended] Chrome driver is supported.
|
36
|
+
[Install chromedriver](http://chromedriver.chromium.org/downloads)
|
36
37
|
|
37
38
|
```
|
38
39
|
Capybara.register_driver :chrome do |app|
|
@@ -40,7 +41,8 @@ Capybara.register_driver :chrome do |app|
|
|
40
41
|
end
|
41
42
|
```
|
42
43
|
|
43
|
-
Firefox(:selenium option) also works.
|
44
|
+
Firefox(:selenium option) also works.
|
45
|
+
[Install geckodriver](https://github.com/mozilla/geckodriver/releases)
|
44
46
|
|
45
47
|
```
|
46
48
|
session = Capybara::Session.new(:selenium)
|
data/Rakefile
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
|
2
|
-
lib = File.expand_path("../lib", __FILE__)
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
3
|
require "capybara/sessionkeeper/version"
|
5
4
|
|
@@ -9,8 +8,8 @@ Gem::Specification.new do |spec|
|
|
9
8
|
spec.authors = ["Kazuho Yamaguchi"]
|
10
9
|
spec.email = ["kzh.yap@gmail.com"]
|
11
10
|
|
12
|
-
spec.summary =
|
13
|
-
spec.description =
|
11
|
+
spec.summary = "Save and restore cookies of capybara session."
|
12
|
+
spec.description = "Save and restore cookies of capybara session."
|
14
13
|
spec.homepage = "https://github.com/kyamaguchi/capybara-sessionkeeper"
|
15
14
|
spec.license = "MIT"
|
16
15
|
|
@@ -26,5 +25,7 @@ Gem::Specification.new do |spec|
|
|
26
25
|
spec.add_development_dependency "bundler", "~> 1.15"
|
27
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
28
27
|
spec.add_development_dependency "rspec", "~> 3.0"
|
28
|
+
spec.add_development_dependency "rubocop", "0.60.0"
|
29
|
+
spec.add_development_dependency "rubocop-rspec", "1.30.1"
|
29
30
|
spec.add_development_dependency "byebug"
|
30
31
|
end
|
@@ -16,7 +16,7 @@ module Capybara
|
|
16
16
|
def restore_cookies(path = nil)
|
17
17
|
path ||= find_latest_cookie_file
|
18
18
|
return nil if path.nil?
|
19
|
-
data = File.open(path, 'rb'
|
19
|
+
data = File.open(path, 'rb', &:read)
|
20
20
|
restore_cookies_from_data(data)
|
21
21
|
end
|
22
22
|
|
@@ -26,7 +26,7 @@ module Capybara
|
|
26
26
|
cookies.each do |d|
|
27
27
|
begin
|
28
28
|
driver.browser.manage.add_cookie d
|
29
|
-
rescue => e
|
29
|
+
rescue StandardError => e
|
30
30
|
skip_invalid_cookie_domain_error(e)
|
31
31
|
end
|
32
32
|
end
|
@@ -45,16 +45,14 @@ module Capybara
|
|
45
45
|
Dir.glob(File.join([Capybara.save_path, "*.#{cookie_file_extension}"].compact)).max_by{|f| File.mtime(f) }
|
46
46
|
end
|
47
47
|
|
48
|
-
def skip_invalid_cookie_domain_error(
|
49
|
-
if
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
# Case of :chrome driver. e.message -> 'invalid cookie domain: invalid domain:".github.com"'
|
54
|
-
# Selenium::WebDriver::Error::InvalidCookieDomainError
|
48
|
+
def skip_invalid_cookie_domain_error(error)
|
49
|
+
if error.message =~ /invalid cookie domain/ || # Chrome
|
50
|
+
error.message =~ /InvalidCookieDomainError/ || # Old firefox
|
51
|
+
error.class.to_s == 'Selenium::WebDriver::Error::InvalidCookieDomainError' # Firefox
|
52
|
+
# puts error.class, error.message
|
55
53
|
# puts "Skipped invalid cookie domain: #{d[:domain]} - #{d.inspect}"
|
56
54
|
else
|
57
|
-
raise(
|
55
|
+
raise(error)
|
58
56
|
end
|
59
57
|
end
|
60
58
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capybara-sessionkeeper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kazuho Yamaguchi
|
@@ -80,6 +80,34 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '3.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.60.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.60.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop-rspec
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 1.30.1
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 1.30.1
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: byebug
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -103,6 +131,7 @@ extra_rdoc_files: []
|
|
103
131
|
files:
|
104
132
|
- ".gitignore"
|
105
133
|
- ".rspec"
|
134
|
+
- ".rubocop.yml"
|
106
135
|
- ".travis.yml"
|
107
136
|
- Gemfile
|
108
137
|
- LICENSE.txt
|