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 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.