persistent-dmnd 2.0.3 β†’ 2.0.4

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: 941854bf9185d3078b878c25f4888315c2c29f0b823f453d10a44a89f733d7c4
4
+ data.tar.gz: cbb85dd3e9251e9800f00223c1a3a0ffc6764023593a0791e0289f94c431e1d0
5
5
  SHA512:
6
- metadata.gz: 5eb571c134ee04d62521169e519052be1d064c4e8fe6b2003a8e89184366b4fb4e760104a29f4e33aef195eead23b909a905ad09105abdd743217dd94e2a614d
7
- data.tar.gz: f2ea7b05c3d4dae505b71bc90002280f478548916297193b85afc162011ff2d72b3594737aadaa542e5f2af7adf2d2f23e842e82252143560dd5fad0fab276d8
6
+ metadata.gz: efa93ab8dd9c78d2f65cc736cf4001e3631ab546ce19dec796843611191e152c6198d9c71aaf2c6b4bfe69d17bd942d12da2612c141af077d8abc4165c4a99ec
7
+ data.tar.gz: 3e43b4f670e76b820bbf48d7115a14cfbe29ef7ddb94702df4e981a773946398d1f4d6b271cc35cb838f136b5e4f2dd15a6490498a3e2207e70b02defd1dfa14
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.4"
35
35
  end
metadata CHANGED
@@ -1,94 +1,136 @@
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.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivo Anjo
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-04 00:00:00.000000000 Z
11
+ date: 2023-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rake
15
- prerelease: false
16
14
  requirement: !ruby/object:Gem::Requirement
17
15
  requirements:
18
16
  - - "~>"
19
17
  - !ruby/object:Gem::Version
20
18
  version: '12.2'
19
+ name: rake
21
20
  type: :development
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '12.2'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rspec
29
- prerelease: false
30
28
  requirement: !ruby/object:Gem::Requirement
31
29
  requirements:
32
30
  - - "~>"
33
31
  - !ruby/object:Gem::Version
34
32
  version: '3.8'
33
+ name: rspec
35
34
  type: :development
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3.8'
41
41
  - !ruby/object:Gem::Dependency
42
- name: concurrent-ruby
43
- prerelease: false
44
42
  requirement: !ruby/object:Gem::Requirement
45
43
  requirements:
46
44
  - - "~>"
47
45
  - !ruby/object:Gem::Version
48
46
  version: '1.1'
47
+ name: concurrent-ruby
49
48
  type: :development
49
+ prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.1'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rufo
57
- prerelease: false
58
56
  requirement: !ruby/object:Gem::Requirement
59
57
  requirements:
60
58
  - - "~>"
61
59
  - !ruby/object:Gem::Version
62
60
  version: '0.13'
61
+ name: rufo
63
62
  type: :development
63
+ prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.13'
69
69
  - !ruby/object:Gem::Dependency
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
70
75
  name: pry
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
72
84
  requirement: !ruby/object:Gem::Requirement
73
85
  requirements:
74
86
  - - ">="
75
87
  - !ruby/object:Gem::Version
76
88
  version: '0'
89
+ name: pry-debugger-jruby
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
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ name: sorbet
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
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '1.1'
117
+ name: spoom
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
86
126
  requirement: !ruby/object:Gem::Requirement
87
127
  requirements:
88
128
  - - "~>"
89
129
  - !ruby/object:Gem::Version
90
130
  version: '3.0'
131
+ name: hamster
91
132
  type: :runtime
133
+ prerelease: false
92
134
  version_requirements: !ruby/object:Gem::Requirement
93
135
  requirements:
94
136
  - - "~>"
@@ -115,7 +157,7 @@ files:
115
157
  - bin/rspec
116
158
  - gems.rb
117
159
  - lib/persistent-dmnd.rb
118
- - "lib/persistent-\U0001F48E.rb"
160
+ - lib/persistent-πŸ’Ž.rb
119
161
  - lib/persistent_dmnd/array.rb
120
162
  - lib/persistent_dmnd/concurrent_ruby_support.rb
121
163
  - lib/persistent_dmnd/dmndifier.rb
@@ -141,7 +183,7 @@ homepage: https://gitlab.com/ivoanjo/persistent-dmnd/
141
183
  licenses:
142
184
  - MIT
143
185
  metadata: {}
144
- post_install_message:
186
+ post_install_message:
145
187
  rdoc_options: []
146
188
  require_paths:
147
189
  - lib
@@ -156,8 +198,8 @@ 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
160
- signing_key:
201
+ rubygems_version: 3.3.25
202
+ signing_key:
161
203
  specification_version: 4
162
- summary: "Persistent-\U0001F48E: Because Immutable Data Is Forever"
204
+ summary: 'Persistent-πŸ’Ž: Because Immutable Data Is Forever'
163
205
  test_files: []