capybara-sessionkeeper 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|