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 +4 -4
- data/.gitlab-ci.yml +54 -4
- data/README.adoc +1 -1
- data/lib/persistent_dmnd/jruby_9_2_set_workaround.rb +16 -1
- data/lib/persistent_dmnd/version.rb +1 -1
- metadata +50 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b1ef59195df38b2f9917b1658df26919a05d83e468503bff403c1a25a86bc60
|
4
|
+
data.tar.gz: 2cec412562e9fb3979af2c28013d8ff34ad513f0391d3afdf7b3f38e84b6bef8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
-
|
14
|
-
-
|
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
|
-
-
|
38
|
-
-
|
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.
|
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) })
|
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.
|
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:
|
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:
|
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.
|
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"
|