persistent-dmnd 2.0.3 → 2.0.5

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: 997bf52e7c42eede7ff1aec2b935b454de180a9249d07079b0f8e10826fbdf76
4
- data.tar.gz: ccdbe8004757f456bfe7258d38881f4fea3341cb789325a3de230b350105a226
3
+ metadata.gz: 5b1ef59195df38b2f9917b1658df26919a05d83e468503bff403c1a25a86bc60
4
+ data.tar.gz: 2cec412562e9fb3979af2c28013d8ff34ad513f0391d3afdf7b3f38e84b6bef8
5
5
  SHA512:
6
- metadata.gz: 5eb571c134ee04d62521169e519052be1d064c4e8fe6b2003a8e89184366b4fb4e760104a29f4e33aef195eead23b909a905ad09105abdd743217dd94e2a614d
7
- data.tar.gz: f2ea7b05c3d4dae505b71bc90002280f478548916297193b85afc162011ff2d72b3594737aadaa542e5f2af7adf2d2f23e842e82252143560dd5fad0fab276d8
6
+ metadata.gz: 5fb069cf98a5e675bfadf4b6b66111987a73bfb67a72cac1ccd8ed1487ce072b152d9ef4793b18ebd186dbe06f572fb6677f456a31c78b1ba4b990e75429ccfe
7
+ data.tar.gz: 4910cd473c5b81184a775172003b1bf242d4a4b8367e932c75a2ed871184e8bd4779bdecd473b2c5f0db7f14c2f200001bdbf2ea658b038659919188e3e167e5
data/.gitlab-ci.yml CHANGED
@@ -10,8 +10,9 @@ testruby_1_9_3:
10
10
  - vendor/ruby
11
11
 
12
12
  before_script:
13
- - printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list
14
- - apt-get update >/dev/null # Add UTF-8 support
13
+ - apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AA8E81B4331F7F50 7638D0442B90D010 8B48AD6246925553
14
+ - echo "deb [trusted=yes] http://archive.debian.org/debian/ jessie main contrib non-free" | tee /etc/apt/sources.list
15
+ - apt-get update # Add UTF-8 support
15
16
  - apt-get install -y locales >/dev/null # |
16
17
  - echo "en_US UTF-8" > /etc/locale.gen # |
17
18
  - locale-gen en_US.UTF-8 # |
@@ -34,8 +35,9 @@ testruby_2_0:
34
35
  - vendor/ruby
35
36
 
36
37
  before_script:
37
- - printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list
38
- - apt-get update >/dev/null # Add UTF-8 support
38
+ - apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AA8E81B4331F7F50 7638D0442B90D010 8B48AD6246925553
39
+ - echo "deb [trusted=yes] http://archive.debian.org/debian/ jessie main contrib non-free" | tee /etc/apt/sources.list
40
+ - apt-get update # Add UTF-8 support
39
41
  - apt-get install -y locales >/dev/null # |
40
42
  - echo "en_US UTF-8" > /etc/locale.gen # |
41
43
  - locale-gen en_US.UTF-8 # |
@@ -255,6 +257,28 @@ testruby_3_1:
255
257
  script:
256
258
  - bin/rspec
257
259
 
260
+ testruby_3_2:
261
+ image: "ruby:3.2.0"
262
+
263
+ # Cache gems in between builds
264
+ cache:
265
+ paths:
266
+ - vendor/ruby
267
+
268
+ before_script:
269
+ - apt-get update >/dev/null # Add UTF-8 support
270
+ - apt-get install -y locales >/dev/null # |
271
+ - echo "en_US UTF-8" > /etc/locale.gen # |
272
+ - locale-gen en_US.UTF-8 # |
273
+ - export LANG=en_US.UTF-8 # |
274
+ - export LANGUAGE=en_US:en # |
275
+ - export LC_ALL=en_US.UTF-8 # v
276
+ - ruby -v # Print out ruby version for debugging
277
+ - bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
278
+
279
+ script:
280
+ - bin/rspec
281
+
258
282
  testjruby_1_7:
259
283
  image: "jruby:1.7"
260
284
 
@@ -290,6 +314,8 @@ testjruby_9_0:
290
314
 
291
315
  before_script:
292
316
  - rm /etc/apt/sources.list.d/jessie-backports.list
317
+ - apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AA8E81B4331F7F50 7638D0442B90D010 8B48AD6246925553
318
+ - echo "deb [trusted=yes] http://archive.debian.org/debian/ jessie main contrib non-free" | tee /etc/apt/sources.list
293
319
  - apt-get update # Add UTF-8 support
294
320
  - apt-get install -y locales >/dev/null # |
295
321
  - echo "en_US UTF-8" > /etc/locale.gen # |
@@ -412,6 +438,30 @@ testjruby_9_3:
412
438
  script:
413
439
  - bin/rspec
414
440
 
441
+ testjruby_9_4:
442
+ image: "jruby:9.4"
443
+
444
+ # Cache gems in between builds
445
+ cache:
446
+ paths:
447
+ - vendor/ruby
448
+
449
+ before_script:
450
+ - apt-get update >/dev/null # Add UTF-8 support
451
+ - apt-get install -y locales >/dev/null # |
452
+ - echo "en_US UTF-8" > /etc/locale.gen # |
453
+ - locale-gen en_US.UTF-8 # |
454
+ - export LANG=en_US.UTF-8 # |
455
+ - export LANGUAGE=en_US:en # |
456
+ - export LC_ALL=en_US.UTF-8 # v
457
+ - apt-get install -y git >/dev/null # Add git binary
458
+ - export JRUBY_OPTS=--dev # Faster test runs
459
+ - ruby -v # Print out ruby version for debugging
460
+ - bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
461
+
462
+ script:
463
+ - bin/rspec
464
+
415
465
  testtruffleruby_20_2_0:
416
466
  image: "flavorjones/truffleruby:20.2.0-buster"
417
467
 
data/README.adoc CHANGED
@@ -97,7 +97,7 @@ It also (_optionally!_) interoperates with the https://github.com/ruby-concurren
97
97
  Underneath the covers, persistent-💎 mostly builds atop the awesome https://github.com/hamstergem/hamster[hamster gem].
98
98
  Big thanks to its equally-awesome authors!
99
99
 
100
- Persistent-💎 is fully supported and tested on Ruby versions 1.9.3 to 3.1, JRuby 1.7 to 9.3, and TruffleRuby 🎉.
100
+ Persistent-💎 is fully supported and tested on Ruby versions 1.9.3 to 3.2, JRuby 1.7 to 9.4, and TruffleRuby 🎉.
101
101
  If we don't support your Ruby, it's probably a Python binary instead (or a potato?).
102
102
  Keep calm and 💎 away!
103
103
 
@@ -43,7 +43,7 @@ module Persistent💎
43
43
  end
44
44
  end
45
45
 
46
- if RUBY_PLATFORM == "java" && (JRUBY_VERSION.start_with?("9.2.") || JRUBY_VERSION.start_with?("9.3.")) && workaround_needed?
46
+ if RUBY_PLATFORM == "java" && (JRUBY_VERSION.start_with?("9.2.") || JRUBY_VERSION.start_with?("9.3.") || JRUBY_VERSION.start_with?("9.4.")) && workaround_needed?
47
47
  class ::Set
48
48
  # Save existing Set methods
49
49
 
@@ -57,9 +57,24 @@ module Persistent💎
57
57
  alias persistent_dmnd_workaround_original_flatten_merge flatten_merge
58
58
  alias persistent_dmnd_workaround_original_flatten flatten
59
59
  alias persistent_dmnd_workaround_original_flatten! flatten!
60
+ alias persistend_dmnd_workaround_original_spaceship <=>
60
61
 
61
62
  # Redefine all set methods that use instanceof RubySet to restore previous behavior
62
63
 
64
+ if JRUBY_VERSION.start_with?("9.4.")
65
+ def <=>(set)
66
+ original = persistend_dmnd_workaround_original_spaceship(set)
67
+ return original if original
68
+
69
+ return unless set.is_a?(::Set)
70
+ case size <=> set.size
71
+ when -1 then -1 if proper_subset?(set)
72
+ when +1 then +1 if proper_superset?(set)
73
+ else 0 if self.==(set)
74
+ end
75
+ end
76
+ end
77
+
63
78
  def ==(other)
64
79
  persistent_dmnd_workaround_original_equal(other) ||
65
80
  (other.is_a?(::Set) && size == other.size && other.all? { |o| include?(o) })
@@ -31,5 +31,5 @@
31
31
  # frozen_string_literal: true
32
32
 
33
33
  module Persistent💎
34
- VERSION = "2.0.3"
34
+ VERSION = "2.0.5"
35
35
  end
metadata CHANGED
@@ -1,24 +1,24 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: persistent-dmnd
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivo Anjo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-04 00:00:00.000000000 Z
11
+ date: 2023-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
- prerelease: false
16
15
  requirement: !ruby/object:Gem::Requirement
17
16
  requirements:
18
17
  - - "~>"
19
18
  - !ruby/object:Gem::Version
20
19
  version: '12.2'
21
20
  type: :development
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
@@ -26,13 +26,13 @@ dependencies:
26
26
  version: '12.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
- prerelease: false
30
29
  requirement: !ruby/object:Gem::Requirement
31
30
  requirements:
32
31
  - - "~>"
33
32
  - !ruby/object:Gem::Version
34
33
  version: '3.8'
35
34
  type: :development
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
@@ -40,13 +40,13 @@ dependencies:
40
40
  version: '3.8'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: concurrent-ruby
43
- prerelease: false
44
43
  requirement: !ruby/object:Gem::Requirement
45
44
  requirements:
46
45
  - - "~>"
47
46
  - !ruby/object:Gem::Version
48
47
  version: '1.1'
49
48
  type: :development
49
+ prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
@@ -54,13 +54,13 @@ dependencies:
54
54
  version: '1.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rufo
57
- prerelease: false
58
57
  requirement: !ruby/object:Gem::Requirement
59
58
  requirements:
60
59
  - - "~>"
61
60
  - !ruby/object:Gem::Version
62
61
  version: '0.13'
63
62
  type: :development
63
+ prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
@@ -68,27 +68,69 @@ dependencies:
68
68
  version: '0.13'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
71
77
  prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-byebug
72
85
  requirement: !ruby/object:Gem::Requirement
73
86
  requirements:
74
87
  - - ">="
75
88
  - !ruby/object:Gem::Version
76
89
  version: '0'
77
90
  type: :development
91
+ prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - ">="
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
- name: hamster
98
+ name: sorbet
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: spoom
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.1'
118
+ type: :development
85
119
  prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.1'
125
+ - !ruby/object:Gem::Dependency
126
+ name: hamster
86
127
  requirement: !ruby/object:Gem::Requirement
87
128
  requirements:
88
129
  - - "~>"
89
130
  - !ruby/object:Gem::Version
90
131
  version: '3.0'
91
132
  type: :runtime
133
+ prerelease: false
92
134
  version_requirements: !ruby/object:Gem::Requirement
93
135
  requirements:
94
136
  - - "~>"
@@ -156,7 +198,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
198
  - !ruby/object:Gem::Version
157
199
  version: '0'
158
200
  requirements: []
159
- rubygems_version: 3.0.3
201
+ rubygems_version: 3.1.4
160
202
  signing_key:
161
203
  specification_version: 4
162
204
  summary: "Persistent-\U0001F48E: Because Immutable Data Is Forever"