persistent-dmnd 2.0.3 β†’ 2.0.4

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
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: []