http-cookie 1.0.8 → 1.1.0

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
2
  SHA256:
3
- metadata.gz: 143890479b8951250d5f45d4528c390e03741d943269abe0901e091b544f95ca
4
- data.tar.gz: 7bfef9e1bd7cd6cb01f0de248717fade7a1871fb120cd35227657a96c371d384
3
+ metadata.gz: d8164cb03f90d107b135379101cbc38ca71bfb1b850410007d739c38c3097036
4
+ data.tar.gz: 1171fba029df999fd8c27a1ddb42626840510cf1b9521f5d48282f0578f8c94f
5
5
  SHA512:
6
- metadata.gz: ba03e3c618d888517bc4bb9e95c08cf4c89bbe5a9ec075d31dcaba353d8864b338fe79bf7ad36f45d6e87a114eefabe41ed62a7b62876c3ba55f459e022fb24f
7
- data.tar.gz: 846fa3243f97982df9b196fbc0645d13cd233105bbaa98e2e42b36f5a95b58c07d7571c213c6b35034b4ea41f1ce415857aabbbfe20042305611608fa3d327df
6
+ metadata.gz: b41e686acc80a67ceb08ef01ce608de1cf67790364f1dba9255ff595b30dcd361316d50d5dcca03c1f3d0d2c506c507fa707fdd1cfe4963076b7bdef0551a2f7
7
+ data.tar.gz: d88dc3ccf9dad9bf2ee56b27ad137e87c9ff19e29d2ef28814c6eb06038e3db8cb93fa6be17a7cc8cbfc00ad70f086409ab41d7a1ff52fdacffbedee39302013
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 1.1.0 (2025-09-26)
2
+
3
+ - Implement `Cookie#to_h`. (#55) @luke-hill @flavorjones
4
+ - Reduce gem size by excluding test files (#54) @yuri-zubov
5
+
6
+
1
7
  ## 1.0.8 (2024-12-05)
2
8
 
3
9
  - `Cookie#expires=` accepts `DateTime` objects. (#52) @luke-hill @flavorjones
@@ -1,5 +1,5 @@
1
1
  module HTTP
2
2
  class Cookie
3
- VERSION = "1.0.8"
3
+ VERSION = "1.1.0"
4
4
  end
5
5
  end
data/lib/http/cookie.rb CHANGED
@@ -655,6 +655,11 @@ class HTTP::Cookie
655
655
  end
656
656
  include Comparable
657
657
 
658
+ # Hash serialization helper for use back into other libraries (Like Selenium)
659
+ def to_h
660
+ PERSISTENT_PROPERTIES.each_with_object({}) { |property, hash| hash[property.to_sym] = instance_variable_get("@#{property}") }
661
+ end
662
+
658
663
  # YAML serialization helper for Syck.
659
664
  def to_yaml_properties
660
665
  PERSISTENT_PROPERTIES.map { |name| "@#{name}" }
metadata CHANGED
@@ -1,17 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http-cookie
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akinori MUSHA
8
8
  - Aaron Patterson
9
9
  - Eric Hodel
10
10
  - Mike Dalessio
11
- autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2024-12-05 00:00:00.000000000 Z
13
+ date: 1980-01-02 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: domain_name
@@ -124,18 +123,12 @@ email:
124
123
  executables: []
125
124
  extensions: []
126
125
  extra_rdoc_files:
127
- - README.md
128
126
  - LICENSE.txt
127
+ - README.md
129
128
  files:
130
- - ".github/CODEOWNERS"
131
- - ".github/workflows/ci.yml"
132
- - ".gitignore"
133
129
  - CHANGELOG.md
134
- - Gemfile
135
130
  - LICENSE.txt
136
131
  - README.md
137
- - Rakefile
138
- - http-cookie.gemspec
139
132
  - lib/http-cookie.rb
140
133
  - lib/http/cookie.rb
141
134
  - lib/http/cookie/ruby_compat.rb
@@ -149,16 +142,10 @@ files:
149
142
  - lib/http/cookie_jar/hash_store.rb
150
143
  - lib/http/cookie_jar/mozilla_store.rb
151
144
  - lib/http/cookie_jar/yaml_saver.rb
152
- - test/helper.rb
153
- - test/mechanize.yml
154
- - test/simplecov_start.rb
155
- - test/test_http_cookie.rb
156
- - test/test_http_cookie_jar.rb
157
145
  homepage: https://github.com/sparklemotion/http-cookie
158
146
  licenses:
159
147
  - MIT
160
148
  metadata: {}
161
- post_install_message:
162
149
  rdoc_options: []
163
150
  require_paths:
164
151
  - lib
@@ -173,13 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
173
160
  - !ruby/object:Gem::Version
174
161
  version: '0'
175
162
  requirements: []
176
- rubygems_version: 3.5.22
177
- signing_key:
163
+ rubygems_version: 3.6.9
178
164
  specification_version: 4
179
165
  summary: A Ruby library to handle HTTP Cookies based on RFC 6265
180
- test_files:
181
- - test/helper.rb
182
- - test/mechanize.yml
183
- - test/simplecov_start.rb
184
- - test/test_http_cookie.rb
185
- - test/test_http_cookie_jar.rb
166
+ test_files: []
data/.github/CODEOWNERS DELETED
@@ -1 +0,0 @@
1
- * @knu
@@ -1,37 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches:
6
- - master
7
- pull_request:
8
- branches:
9
- - "*"
10
-
11
- jobs:
12
- test:
13
- strategy:
14
- fail-fast: false
15
- matrix:
16
- os: [ubuntu]
17
- # We still kind of support Ruby 1.8.7
18
- ruby: ["2.7", "3.0", "3.1", "3.2", "3.3", "head", "jruby"]
19
-
20
- name: >-
21
- ${{matrix.os}}:ruby-${{matrix.ruby}}
22
- runs-on: ${{matrix.os}}-latest
23
- continue-on-error: ${{matrix.ruby == 'head' || matrix.ruby == 'jruby'}}
24
-
25
- steps:
26
- - name: Check out
27
- uses: actions/checkout@v4
28
-
29
- - name: Set up ruby and bundle
30
- uses: ruby/setup-ruby@v1
31
- with:
32
- ruby-version: ${{matrix.ruby}}
33
- bundler-cache: true
34
-
35
- - name: Run rake
36
- run: |
37
- bundle exec rake
data/.gitignore DELETED
@@ -1,17 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in http-cookie.gemspec
4
- gemspec
data/Rakefile DELETED
@@ -1,20 +0,0 @@
1
- require 'bundler/gem_tasks'
2
- require 'rake/testtask'
3
-
4
- Rake::TestTask.new(:test) do |test|
5
- test.ruby_opts << '-r./test/simplecov_start.rb' if RUBY_VERSION >= '1.9'
6
- test.pattern = 'test/**/test_*.rb'
7
- test.verbose = true
8
- end
9
-
10
- task :default => :test
11
-
12
- require 'rdoc/task'
13
- Rake::RDocTask.new do |rdoc|
14
- version = HTTP::Cookie::VERSION
15
-
16
- rdoc.rdoc_dir = 'rdoc'
17
- rdoc.title = "http-cookie #{version}"
18
- rdoc.rdoc_files.include('lib/**/*.rb')
19
- rdoc.rdoc_files.include(Bundler::GemHelper.gemspec.extra_rdoc_files)
20
- end
data/http-cookie.gemspec DELETED
@@ -1,35 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'http/cookie/version'
5
-
6
- Gem::Specification.new do |gem|
7
- gem.name = "http-cookie"
8
- gem.version = HTTP::Cookie::VERSION
9
- gem.authors, gem.email = {
10
- 'Akinori MUSHA' => 'knu@idaemons.org',
11
- 'Aaron Patterson' => 'aaronp@rubyforge.org',
12
- 'Eric Hodel' => 'drbrain@segment7.net',
13
- 'Mike Dalessio' => 'mike.dalessio@gmail.com',
14
- }.instance_eval { [keys, values] }
15
-
16
- gem.description = %q{HTTP::Cookie is a Ruby library to handle HTTP Cookies based on RFC 6265. It has with security, standards compliance and compatibility in mind, to behave just the same as today's major web browsers. It has builtin support for the legacy cookies.txt and the latest cookies.sqlite formats of Mozilla Firefox, and its modular API makes it easy to add support for a new backend store.}
17
- gem.summary = %q{A Ruby library to handle HTTP Cookies based on RFC 6265}
18
- gem.homepage = "https://github.com/sparklemotion/http-cookie"
19
- gem.license = "MIT"
20
-
21
- gem.files = `git ls-files`.split($/)
22
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
23
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
24
- gem.require_paths = ["lib"]
25
- gem.extra_rdoc_files = ['README.md', 'LICENSE.txt']
26
-
27
- gem.add_runtime_dependency("domain_name", ["~> 0.5"])
28
- gem.add_development_dependency("sqlite3", ["~> 1.3"]) unless defined?(JRUBY_VERSION)
29
- gem.add_development_dependency("bundler", [">= 1.2.0"])
30
- gem.add_development_dependency("test-unit", [">= 2.4.3", *("< 3" if RUBY_VERSION < "1.9")])
31
- gem.add_development_dependency("rake", [">= 0.9.2.2", *("< 11" if RUBY_VERSION < "1.9")])
32
- gem.add_development_dependency("rdoc", RUBY_VERSION > "1.9" ? "> 2.4.2" : "~> 2.4.2")
33
- gem.add_development_dependency("simplecov", [">= 0"])
34
- gem.add_development_dependency("json", ["< 2"]) if RUBY_VERSION < "2.0"
35
- end
data/test/helper.rb DELETED
@@ -1,55 +0,0 @@
1
- require 'rubygems'
2
- require 'test-unit'
3
- require 'uri'
4
- require 'http/cookie'
5
-
6
- module Test
7
- module Unit
8
- module Assertions
9
- def assert_warn(pattern, message = nil, &block)
10
- class << (output = +"")
11
- alias write <<
12
- end
13
- stderr, $stderr = $stderr, output
14
- yield
15
- assert_match(pattern, output, message)
16
- ensure
17
- $stderr = stderr
18
- end
19
-
20
- def assert_warning(pattern, message = nil, &block)
21
- verbose, $VERBOSE = $VERBOSE, true
22
- assert_warn(pattern, message, &block)
23
- ensure
24
- $VERBOSE = verbose
25
- end
26
- end
27
- end
28
- end
29
-
30
- module Enumerable
31
- def combine
32
- masks = inject([[], 1]){|(ar, m), e| [ar << m, m << 1 ] }[0]
33
- all = masks.inject(0){ |al, m| al|m }
34
-
35
- result = []
36
- for i in 1..all do
37
- tmp = []
38
- each_with_index do |e, idx|
39
- tmp << e unless (masks[idx] & i) == 0
40
- end
41
- result << tmp
42
- end
43
- result
44
- end
45
- end
46
-
47
- def test_file(filename)
48
- File.expand_path(filename, File.dirname(__FILE__))
49
- end
50
-
51
- def sleep_until(time)
52
- if (s = time - Time.now) > 0
53
- sleep s + 0.01
54
- end
55
- end
data/test/mechanize.yml DELETED
@@ -1,101 +0,0 @@
1
- ---
2
- google.com:
3
- /:
4
- PREF: !ruby/object:Mechanize::Cookie
5
- version: 0
6
- port:
7
- discard:
8
- comment_url:
9
- expires: Tue, 24 Mar 2065 08:20:15 GMT
10
- max_age:
11
- comment:
12
- secure: false
13
- path: /
14
- domain: google.com
15
- accessed_at: 2013-03-24 17:20:15.822619000 +09:00
16
- created_at: 2013-03-24 17:20:15.822619000 +09:00
17
- name: PREF
18
- value: ID=7571a59c059e09db:FF=0:TM=1364199615:LM=1364199615:S=BxUqnqPrchd2cVmC
19
- for_domain: true
20
- domain_name: !ruby/object:DomainName
21
- ipaddr:
22
- hostname: google.com
23
- uri_host: google.com
24
- tld: com
25
- canonical_tld_p: true
26
- domain: google.com
27
- session: false
28
- NID: !ruby/object:Mechanize::Cookie
29
- version: 0
30
- port:
31
- discard:
32
- comment_url:
33
- expires: Sun, 23 Sep 2063 08:20:15 GMT
34
- max_age:
35
- comment:
36
- secure: false
37
- path: /
38
- domain: google.com
39
- accessed_at: 2013-03-24 17:20:15.828434000 +09:00
40
- created_at: 2013-03-24 17:20:15.828434000 +09:00
41
- name: NID
42
- value: 67=Kn2osS6wOzILpl7sCM1QIDmGg2VESBiwCyt6zx4vOVSWKOYDlwGIpgIGrpD8FpkbS9eqizo3QWFa5YkOygnCF6vRIQpbvlTxWB2Hq1Oo-qXWy0317yCqQ-B25eJLfUcC
43
- for_domain: true
44
- domain_name: !ruby/object:DomainName
45
- ipaddr:
46
- hostname: google.com
47
- uri_host: google.com
48
- tld: com
49
- canonical_tld_p: true
50
- domain: google.com
51
- session: false
52
- google.co.jp:
53
- /:
54
- PREF: !ruby/object:Mechanize::Cookie
55
- version: 0
56
- port:
57
- discard:
58
- comment_url:
59
- expires: Tue, 24 Mar 2065 08:20:16 GMT
60
- max_age:
61
- comment:
62
- secure: false
63
- path: /
64
- domain: google.co.jp
65
- accessed_at: 2013-03-24 17:20:17.136581000 +09:00
66
- created_at: 2013-03-24 17:20:17.136581000 +09:00
67
- name: PREF
68
- value: ID=cb25dd1567d8b5c8:FF=0:TM=1364199616:LM=1364199616:S=c3PbhRq79Wo5T_vV
69
- for_domain: true
70
- domain_name: !ruby/object:DomainName
71
- ipaddr:
72
- hostname: google.co.jp
73
- uri_host: google.co.jp
74
- tld: jp
75
- canonical_tld_p: true
76
- domain: google.co.jp
77
- session: false
78
- NID: !ruby/object:Mechanize::Cookie
79
- version: 0
80
- port:
81
- discard:
82
- comment_url:
83
- expires: Sun, 23 Sep 2063 08:20:16 GMT
84
- max_age:
85
- comment:
86
- secure: false
87
- path: /
88
- domain: google.co.jp
89
- accessed_at: 2013-03-24 17:20:17.139782000 +09:00
90
- created_at: 2013-03-24 17:20:17.139782000 +09:00
91
- name: NID
92
- value: 67=GS7P-68zgm_KRA0e0dpN_XbYpmw9uBDe56qUeoCGiSRTahsM7dtOBCKfCoIFRKlzSuOiwJQdIZNpwv3DSXQNHXDKltucgfv2qkHlGeoj8-5VlowPXLLesz2VIpLOLw-a
93
- for_domain: true
94
- domain_name: !ruby/object:DomainName
95
- ipaddr:
96
- hostname: google.co.jp
97
- uri_host: google.co.jp
98
- tld: jp
99
- canonical_tld_p: true
100
- domain: google.co.jp
101
- session: false
@@ -1,2 +0,0 @@
1
- require 'simplecov'
2
- SimpleCov.start