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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a32307b6338531aa3f139597f7260ce95337abc8
4
- data.tar.gz: e78d9c977a384c55b2625e6924f4c011936c3b60
2
+ SHA256:
3
+ metadata.gz: a798881f5159d78a835acd4cea9bbdb1dbb32b5cd2afd9c74083a258a9972395
4
+ data.tar.gz: 68afb42a7cda67dc6aff55310b7f221bd2ac9d2dbcad793549e7745c97e429c8
5
5
  SHA512:
6
- metadata.gz: 8a5bf4bc30fead4079f9569c242ac398d5a837fbf5e908c4a1cfdb1056b75ccb1c903a9b8b5c4d17eca69cb92c6624d0523dff7a96013dccb2d8965b015a487e
7
- data.tar.gz: 966f393c4d8d84a8fdb3169201d39c15f8ee86b97281820e9b68831c1852b9fa09c10dc268ef8f982a2576c966aa5255363705f233acf4f87436729e91ce2e5e
6
+ metadata.gz: 7114a34ade08eec0fc8e73e707590512b462d19cea74468d1d514b7d0067a6fe08ef90c026d657638a3c1ec8a4e5b49f36b61c27141df829601eea07d220c82a
7
+ data.tar.gz: 0b72485fbaf9abd77c90085a95cb8673256d64ef6aea586dedbd1cc5ea8847427e4acfcfd213e18210b8bda13a7f4a89aaaf5e80e87aed9ef9f48d64d8161255
data/.travis.yml CHANGED
@@ -1,6 +1,8 @@
1
1
  dist: trusty
2
- sudo: false
3
2
  language: ruby
3
+ sudo: required
4
+ addons:
5
+ chrome: stable
4
6
  rvm:
5
7
  - 2.4.1
6
8
  before_install: gem install bundler -v 1.15.1
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
- Marshal.load(data).each do |d|
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
@@ -1,5 +1,5 @@
1
1
  module Capybara
2
2
  module Sessionkeeper
3
- VERSION = "0.1.5"
3
+ VERSION = "0.1.6"
4
4
  end
5
5
  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.5
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: 2017-08-29 00:00:00.000000000 Z
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.13
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.