capybara-sessionkeeper 0.1.5 → 0.1.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 +5 -5
- data/.travis.yml +3 -1
- data/README.md +14 -0
- data/lib/capybara/sessionkeeper.rb +12 -2
- data/lib/capybara/sessionkeeper/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a798881f5159d78a835acd4cea9bbdb1dbb32b5cd2afd9c74083a258a9972395
|
4
|
+
data.tar.gz: 68afb42a7cda67dc6aff55310b7f221bd2ac9d2dbcad793549e7745c97e429c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7114a34ade08eec0fc8e73e707590512b462d19cea74468d1d514b7d0067a6fe08ef90c026d657638a3c1ec8a4e5b49f36b61c27141df829601eea07d220c82a
|
7
|
+
data.tar.gz: 0b72485fbaf9abd77c90085a95cb8673256d64ef6aea586dedbd1cc5ea8847427e4acfcfd213e18210b8bda13a7f4a89aaaf5e80e87aed9ef9f48d64d8161255
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -83,6 +83,20 @@ Restore cookie file with specified file name.
|
|
83
83
|
session.restore_cookies(File.join(Capybara.save_path, 'user1.cookies.txt'))
|
84
84
|
```
|
85
85
|
|
86
|
+
### Save and restore cookies from YAML
|
87
|
+
|
88
|
+
Save cookie to yaml string (serialization to yaml).
|
89
|
+
|
90
|
+
```
|
91
|
+
yaml_str = session.cookies_to_yaml
|
92
|
+
```
|
93
|
+
|
94
|
+
Restore cookie from yaml string (deserialization from yaml).
|
95
|
+
|
96
|
+
```
|
97
|
+
session.restore_cookies_from_data(yaml_str, format: 'yaml')
|
98
|
+
```
|
99
|
+
|
86
100
|
### Read cookies of current session
|
87
101
|
|
88
102
|
```
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'capybara'
|
2
2
|
require "capybara/sessionkeeper/version"
|
3
|
+
require 'yaml'
|
3
4
|
|
4
5
|
module Capybara
|
5
6
|
module Sessionkeeper
|
@@ -13,11 +14,16 @@ module Capybara
|
|
13
14
|
end
|
14
15
|
|
15
16
|
def restore_cookies(path = nil)
|
16
|
-
raise CookieError, "visit must be performed to restore cookies" if ['data:,', 'about:blank'].include?(current_url)
|
17
17
|
path ||= find_latest_cookie_file
|
18
18
|
return nil if path.nil?
|
19
19
|
data = File.open(path, 'rb') {|f| f.read }
|
20
|
-
|
20
|
+
restore_cookies_from_data(data)
|
21
|
+
end
|
22
|
+
|
23
|
+
def restore_cookies_from_data(data, options = {})
|
24
|
+
raise CookieError, "visit must be performed to restore cookies" if ['data:,', 'about:blank'].include?(current_url)
|
25
|
+
cookies = %w[yml yaml].include?(options[:format]) ? YAML.load(data) : Marshal.load(data)
|
26
|
+
cookies.each do |d|
|
21
27
|
begin
|
22
28
|
driver.browser.manage.add_cookie d
|
23
29
|
rescue => e
|
@@ -27,6 +33,10 @@ module Capybara
|
|
27
33
|
driver.browser.manage.all_cookies
|
28
34
|
end
|
29
35
|
|
36
|
+
def cookies_to_yaml
|
37
|
+
YAML.dump driver.browser.manage.all_cookies
|
38
|
+
end
|
39
|
+
|
30
40
|
def cookie_file_extension
|
31
41
|
'cookies.txt'
|
32
42
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.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:
|
11
|
+
date: 2018-11-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capybara
|
@@ -133,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
133
|
version: '0'
|
134
134
|
requirements: []
|
135
135
|
rubyforge_project:
|
136
|
-
rubygems_version: 2.6
|
136
|
+
rubygems_version: 2.7.6
|
137
137
|
signing_key:
|
138
138
|
specification_version: 4
|
139
139
|
summary: Save and restore cookies of capybara session.
|