persistent-dmnd 1.0.2 → 2.0.2
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 +5 -13
- data/.gitlab-ci.yml +414 -0
- data/.ruby-version +1 -1
- data/README.adoc +8 -4
- data/bin/bundle +105 -0
- data/bin/pry +12 -4
- data/bin/rspec +12 -4
- data/gems.rb +3 -0
- data/lib/persistent-dmnd.rb +1 -0
- data/lib/persistent-/360/237/222/216.rb +1 -0
- data/lib/persistent_dmnd/array.rb +1 -0
- data/lib/persistent_dmnd/concurrent_ruby_support.rb +1 -0
- data/lib/persistent_dmnd/dmndifier.rb +1 -0
- data/lib/persistent_dmnd/everywhere.rb +1 -0
- data/lib/persistent_dmnd/hash.rb +1 -0
- data/lib/persistent_dmnd/is_persistent.rb +1 -0
- data/lib/persistent_dmnd/jruby_9_2_set_workaround.rb +1 -0
- data/lib/persistent_dmnd/jruby_workaround.rb +2 -1
- data/lib/persistent_dmnd/ruby_1_9_and_2_0_support.rb +1 -0
- data/lib/persistent_dmnd/self_conversion.rb +1 -0
- data/lib/persistent_dmnd/set.rb +11 -2
- data/lib/persistent_dmnd/version.rb +2 -1
- data/persistent-dmnd.gemspec +10 -9
- data/sorbet/config +2 -0
- data/sorbet/rbi/gems/concurrent-ruby.rbi +1587 -0
- data/sorbet/rbi/gems/hamster.rbi +682 -0
- data/sorbet/rbi/hidden-definitions/errors.txt +1473 -0
- data/sorbet/rbi/hidden-definitions/hidden.rbi +2877 -0
- data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +8684 -0
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/gem.rbi +4222 -0
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +111 -0
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +543 -0
- data/sorbet/rbi/todo.rbi +10 -0
- metadata +53 -44
- data/.travis.yml +0 -24
- data/Gemfile +0 -1
checksums.yaml
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
|
|
5
|
-
data.tar.gz: !binary |-
|
|
6
|
-
YjE0OWVlYTkyZDg5ZDg2MTk2OGE5ODNlYzVjODIwMTk3NDE2OWE0NQ==
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 8b879b9c77d3a45c968c749d87e6c55122a80a79ed5663e6654395459288ca91
|
|
4
|
+
data.tar.gz: d2a79f2aeb43dffaddff8b984e1ebb020375b76f6a626206e8625543ea5c2ba3
|
|
7
5
|
SHA512:
|
|
8
|
-
metadata.gz:
|
|
9
|
-
|
|
10
|
-
OThmMDNmNjNiOGY0NzNiNGVmNzU1ZWNkM2Q2NzAyY2Y4YzJmMzM0MjQ3NWE0
|
|
11
|
-
NThlZjRmNDJjZjliNDgwOGMzYmExOWUzNWRlZTkzMjk4NDUyYTk=
|
|
12
|
-
data.tar.gz: !binary |-
|
|
13
|
-
NmU5YzY0NDcxMjlmMzA5OTI4MmI0ZjRlMDk1OTIwN2UzOTQxOWIyYmI1Y2I1
|
|
14
|
-
MGRhYTYxMzhiNDQ2ODBiZDYxNGVhNTU2NDVmMmI0MGVlOTk3MmIxYmMwMzAz
|
|
15
|
-
ZDljMGExYzlkOGJjNDRiYjc1YTQxN2NlMzA5YmMwZjY3ZTFiNjY=
|
|
6
|
+
metadata.gz: d3f3ff75d7339f563f33f3e532bdf21e7ec126f8bf6024a62b99c1743ae7710187293a82b560cbf6cd34ae26181312d31a36214fa65ce24049bb31bdee4f758d
|
|
7
|
+
data.tar.gz: 6f136975f55d67f33662363931c000e0cb30f6e28da2cd5956eb6bf641d8b6bc9e53ea3d22bcc1fa20627499cc90ec1e8663e19beb615c788b7dc5723c8ca008
|
data/.gitlab-ci.yml
ADDED
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
# MRI Ruby version list:
|
|
2
|
+
# https://hub.docker.com/r/library/ruby/tags/
|
|
3
|
+
|
|
4
|
+
testruby_1_9_3:
|
|
5
|
+
image: "ruby:1.9.3"
|
|
6
|
+
|
|
7
|
+
# Cache gems in between builds
|
|
8
|
+
cache:
|
|
9
|
+
paths:
|
|
10
|
+
- vendor/ruby
|
|
11
|
+
|
|
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
|
|
15
|
+
- apt-get install -y locales >/dev/null # |
|
|
16
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
17
|
+
- locale-gen en_US.UTF-8 # |
|
|
18
|
+
- export LANG=en_US.UTF-8 # |
|
|
19
|
+
- export LANGUAGE=en_US:en # |
|
|
20
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
21
|
+
- ruby -v # Print out ruby version for debugging
|
|
22
|
+
- gem install bundler -v '< 2' # Bundler is not installed with the image
|
|
23
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
24
|
+
|
|
25
|
+
script:
|
|
26
|
+
- bin/rspec
|
|
27
|
+
|
|
28
|
+
testruby_2_0:
|
|
29
|
+
image: "ruby:2.0"
|
|
30
|
+
|
|
31
|
+
# Cache gems in between builds
|
|
32
|
+
cache:
|
|
33
|
+
paths:
|
|
34
|
+
- vendor/ruby
|
|
35
|
+
|
|
36
|
+
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
|
|
39
|
+
- apt-get install -y locales >/dev/null # |
|
|
40
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
41
|
+
- locale-gen en_US.UTF-8 # |
|
|
42
|
+
- export LANG=en_US.UTF-8 # |
|
|
43
|
+
- export LANGUAGE=en_US:en # |
|
|
44
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
45
|
+
- ruby -v # Print out ruby version for debugging
|
|
46
|
+
- gem install bundler:'< 2' # Bundler is not installed with the image
|
|
47
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
48
|
+
|
|
49
|
+
script:
|
|
50
|
+
- bin/rspec
|
|
51
|
+
|
|
52
|
+
testruby_2_1:
|
|
53
|
+
image: "ruby:2.1"
|
|
54
|
+
|
|
55
|
+
# Cache gems in between builds
|
|
56
|
+
cache:
|
|
57
|
+
paths:
|
|
58
|
+
- vendor/ruby
|
|
59
|
+
|
|
60
|
+
before_script:
|
|
61
|
+
- 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
|
|
62
|
+
- apt-get update >/dev/null # Add UTF-8 support
|
|
63
|
+
- apt-get install -y locales >/dev/null # |
|
|
64
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
65
|
+
- locale-gen en_US.UTF-8 # |
|
|
66
|
+
- export LANG=en_US.UTF-8 # |
|
|
67
|
+
- export LANGUAGE=en_US:en # |
|
|
68
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
69
|
+
- ruby -v # Print out ruby version for debugging
|
|
70
|
+
- gem install bundler:'< 2' # Bundler is not installed with the image
|
|
71
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
72
|
+
|
|
73
|
+
script:
|
|
74
|
+
- bin/rspec
|
|
75
|
+
|
|
76
|
+
testruby_2_2:
|
|
77
|
+
image: "ruby:2.2"
|
|
78
|
+
|
|
79
|
+
# Cache gems in between builds
|
|
80
|
+
cache:
|
|
81
|
+
paths:
|
|
82
|
+
- vendor/ruby
|
|
83
|
+
|
|
84
|
+
before_script:
|
|
85
|
+
- 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
|
|
86
|
+
- apt-get update >/dev/null # Add UTF-8 support
|
|
87
|
+
- apt-get install -y locales >/dev/null # |
|
|
88
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
89
|
+
- locale-gen en_US.UTF-8 # |
|
|
90
|
+
- export LANG=en_US.UTF-8 # |
|
|
91
|
+
- export LANGUAGE=en_US:en # |
|
|
92
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
93
|
+
- ruby -v # Print out ruby version for debugging
|
|
94
|
+
- gem install bundler:'< 2' # Bundler is not installed with the image
|
|
95
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
96
|
+
|
|
97
|
+
script:
|
|
98
|
+
- bin/rspec
|
|
99
|
+
|
|
100
|
+
testruby_2_3:
|
|
101
|
+
image: "ruby:2.3"
|
|
102
|
+
|
|
103
|
+
# Cache gems in between builds
|
|
104
|
+
cache:
|
|
105
|
+
paths:
|
|
106
|
+
- vendor/ruby
|
|
107
|
+
|
|
108
|
+
before_script:
|
|
109
|
+
- apt-get update >/dev/null # Add UTF-8 support
|
|
110
|
+
- apt-get install -y locales >/dev/null # |
|
|
111
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
112
|
+
- locale-gen en_US.UTF-8 # |
|
|
113
|
+
- export LANG=en_US.UTF-8 # |
|
|
114
|
+
- export LANGUAGE=en_US:en # |
|
|
115
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
116
|
+
- ruby -v # Print out ruby version for debugging
|
|
117
|
+
- gem install bundler:'< 2' # Bundler is not installed with the image
|
|
118
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
119
|
+
|
|
120
|
+
script:
|
|
121
|
+
- bin/rspec
|
|
122
|
+
|
|
123
|
+
testruby_2_4:
|
|
124
|
+
image: "ruby:2.4"
|
|
125
|
+
|
|
126
|
+
# Cache gems in between builds
|
|
127
|
+
cache:
|
|
128
|
+
paths:
|
|
129
|
+
- vendor/ruby
|
|
130
|
+
|
|
131
|
+
before_script:
|
|
132
|
+
- apt-get update >/dev/null # Add UTF-8 support
|
|
133
|
+
- apt-get install -y locales >/dev/null # |
|
|
134
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
135
|
+
- locale-gen en_US.UTF-8 # |
|
|
136
|
+
- export LANG=en_US.UTF-8 # |
|
|
137
|
+
- export LANGUAGE=en_US:en # |
|
|
138
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
139
|
+
- ruby -v # Print out ruby version for debugging
|
|
140
|
+
- gem install bundler:'< 2' # Bundler is not installed with the image
|
|
141
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
142
|
+
|
|
143
|
+
script:
|
|
144
|
+
- bin/rspec
|
|
145
|
+
|
|
146
|
+
testruby_2_5:
|
|
147
|
+
image: "ruby:2.5"
|
|
148
|
+
|
|
149
|
+
# Cache gems in between builds
|
|
150
|
+
cache:
|
|
151
|
+
paths:
|
|
152
|
+
- vendor/ruby
|
|
153
|
+
|
|
154
|
+
before_script:
|
|
155
|
+
- apt-get update >/dev/null # Add UTF-8 support
|
|
156
|
+
- apt-get install -y locales >/dev/null # |
|
|
157
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
158
|
+
- locale-gen en_US.UTF-8 # |
|
|
159
|
+
- export LANG=en_US.UTF-8 # |
|
|
160
|
+
- export LANGUAGE=en_US:en # |
|
|
161
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
162
|
+
- ruby -v # Print out ruby version for debugging
|
|
163
|
+
- gem install bundler:'< 2' # Bundler is not installed with the image
|
|
164
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
165
|
+
|
|
166
|
+
script:
|
|
167
|
+
- bin/rspec
|
|
168
|
+
|
|
169
|
+
testruby_2_6:
|
|
170
|
+
image: "ruby:2.6"
|
|
171
|
+
|
|
172
|
+
# Cache gems in between builds
|
|
173
|
+
cache:
|
|
174
|
+
paths:
|
|
175
|
+
- vendor/ruby
|
|
176
|
+
|
|
177
|
+
before_script:
|
|
178
|
+
- apt-get update >/dev/null # Add UTF-8 support
|
|
179
|
+
- apt-get install -y locales >/dev/null # |
|
|
180
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
181
|
+
- locale-gen en_US.UTF-8 # |
|
|
182
|
+
- export LANG=en_US.UTF-8 # |
|
|
183
|
+
- export LANGUAGE=en_US:en # |
|
|
184
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
185
|
+
- ruby -v # Print out ruby version for debugging
|
|
186
|
+
- gem install bundler:'< 2' # Bundler is not installed with the image
|
|
187
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
188
|
+
|
|
189
|
+
script:
|
|
190
|
+
- bin/rspec
|
|
191
|
+
|
|
192
|
+
testruby_2_7:
|
|
193
|
+
image: "ruby:2.7"
|
|
194
|
+
|
|
195
|
+
# Cache gems in between builds
|
|
196
|
+
cache:
|
|
197
|
+
paths:
|
|
198
|
+
- vendor/ruby
|
|
199
|
+
|
|
200
|
+
before_script:
|
|
201
|
+
- apt-get update >/dev/null # Add UTF-8 support
|
|
202
|
+
- apt-get install -y locales >/dev/null # |
|
|
203
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
204
|
+
- locale-gen en_US.UTF-8 # |
|
|
205
|
+
- export LANG=en_US.UTF-8 # |
|
|
206
|
+
- export LANGUAGE=en_US:en # |
|
|
207
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
208
|
+
- ruby -v # Print out ruby version for debugging
|
|
209
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
210
|
+
|
|
211
|
+
script:
|
|
212
|
+
- bin/rspec
|
|
213
|
+
|
|
214
|
+
testruby_3_0:
|
|
215
|
+
image: "ruby:3.0.0"
|
|
216
|
+
|
|
217
|
+
# Cache gems in between builds
|
|
218
|
+
cache:
|
|
219
|
+
paths:
|
|
220
|
+
- vendor/ruby
|
|
221
|
+
|
|
222
|
+
before_script:
|
|
223
|
+
- apt-get update >/dev/null # Add UTF-8 support
|
|
224
|
+
- apt-get install -y locales >/dev/null # |
|
|
225
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
226
|
+
- locale-gen en_US.UTF-8 # |
|
|
227
|
+
- export LANG=en_US.UTF-8 # |
|
|
228
|
+
- export LANGUAGE=en_US:en # |
|
|
229
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
230
|
+
- ruby -v # Print out ruby version for debugging
|
|
231
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
232
|
+
|
|
233
|
+
script:
|
|
234
|
+
- bin/rspec
|
|
235
|
+
|
|
236
|
+
testjruby_1_7:
|
|
237
|
+
image: "jruby:1.7"
|
|
238
|
+
|
|
239
|
+
# Cache gems in between builds
|
|
240
|
+
cache:
|
|
241
|
+
paths:
|
|
242
|
+
- vendor/ruby
|
|
243
|
+
|
|
244
|
+
before_script:
|
|
245
|
+
- apt-get update >/dev/null # Add UTF-8 support
|
|
246
|
+
- apt-get install -y locales >/dev/null # |
|
|
247
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
248
|
+
- locale-gen en_US.UTF-8 # |
|
|
249
|
+
- export LANG=en_US.UTF-8 # |
|
|
250
|
+
- export LANGUAGE=en_US:en # |
|
|
251
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
252
|
+
- apt-get install -y git >/dev/null # Add git binary
|
|
253
|
+
- export JRUBY_OPTS=--dev # Faster test runs
|
|
254
|
+
- ruby -v # Print out ruby version for debugging
|
|
255
|
+
- gem install bundler:'< 2' # Bundler is not installed with the image
|
|
256
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
257
|
+
|
|
258
|
+
script:
|
|
259
|
+
- bin/rspec
|
|
260
|
+
|
|
261
|
+
testjruby_9_0:
|
|
262
|
+
image: "jruby:9.0"
|
|
263
|
+
|
|
264
|
+
# Cache gems in between builds
|
|
265
|
+
cache:
|
|
266
|
+
paths:
|
|
267
|
+
- vendor/ruby
|
|
268
|
+
|
|
269
|
+
before_script:
|
|
270
|
+
- rm /etc/apt/sources.list.d/jessie-backports.list
|
|
271
|
+
- apt-get update # Add UTF-8 support
|
|
272
|
+
- apt-get install -y locales >/dev/null # |
|
|
273
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
274
|
+
- locale-gen en_US.UTF-8 # |
|
|
275
|
+
- export LANG=en_US.UTF-8 # |
|
|
276
|
+
- export LANGUAGE=en_US:en # |
|
|
277
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
278
|
+
- apt-get install -y git >/dev/null # Add git binary
|
|
279
|
+
- export JRUBY_OPTS=--dev # Faster test runs
|
|
280
|
+
- ruby -v # Print out ruby version for debugging
|
|
281
|
+
- wget https://rubygems.org/downloads/jruby-openssl-0.9.21-java.gem # Needed to support newer ciphers when connecting to rubygems.org (otherwise gem downloads fail)
|
|
282
|
+
- gem install jruby-openssl-0.9.21-java.gem # Install the newer gem
|
|
283
|
+
- gem uninstall -x -i /opt/jruby/lib/ruby/gems/shared bundler # Remove any pre-existing bundler
|
|
284
|
+
- gem install bundler:'< 2' # Install latest bundler 1.x
|
|
285
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
286
|
+
|
|
287
|
+
script:
|
|
288
|
+
- bin/rspec
|
|
289
|
+
|
|
290
|
+
testjruby_9_1:
|
|
291
|
+
image: "jruby:9.1"
|
|
292
|
+
|
|
293
|
+
# Cache gems in between builds
|
|
294
|
+
cache:
|
|
295
|
+
paths:
|
|
296
|
+
- vendor/ruby
|
|
297
|
+
|
|
298
|
+
before_script:
|
|
299
|
+
- apt-get update >/dev/null # Add UTF-8 support
|
|
300
|
+
- apt-get install -y locales >/dev/null # |
|
|
301
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
302
|
+
- locale-gen en_US.UTF-8 # |
|
|
303
|
+
- export LANG=en_US.UTF-8 # |
|
|
304
|
+
- export LANGUAGE=en_US:en # |
|
|
305
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
306
|
+
- apt-get install -y git >/dev/null # Add git binary
|
|
307
|
+
- export JRUBY_OPTS=--dev # Faster test runs
|
|
308
|
+
- ruby -v # Print out ruby version for debugging
|
|
309
|
+
- gem uninstall -x -i /opt/jruby/lib/ruby/gems/shared bundler # Remove any pre-existing bundler
|
|
310
|
+
- gem install bundler:'< 2' # Bundler is not installed with the image
|
|
311
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
312
|
+
|
|
313
|
+
script:
|
|
314
|
+
- bin/rspec
|
|
315
|
+
|
|
316
|
+
testjruby_9_1:
|
|
317
|
+
image: "jruby:9.1"
|
|
318
|
+
|
|
319
|
+
# Cache gems in between builds
|
|
320
|
+
cache:
|
|
321
|
+
paths:
|
|
322
|
+
- vendor/ruby
|
|
323
|
+
|
|
324
|
+
before_script:
|
|
325
|
+
- apt-get update >/dev/null # Add UTF-8 support
|
|
326
|
+
- apt-get install -y locales >/dev/null # |
|
|
327
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
328
|
+
- locale-gen en_US.UTF-8 # |
|
|
329
|
+
- export LANG=en_US.UTF-8 # |
|
|
330
|
+
- export LANGUAGE=en_US:en # |
|
|
331
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
332
|
+
- apt-get install -y git >/dev/null # Add git binary
|
|
333
|
+
- export JRUBY_OPTS=--dev # Faster test runs
|
|
334
|
+
- ruby -v # Print out ruby version for debugging
|
|
335
|
+
- gem uninstall -x -i /opt/jruby/lib/ruby/gems/shared bundler # Remove any pre-existing bundler
|
|
336
|
+
- gem install bundler:'< 2' # Bundler is not installed with the image
|
|
337
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
338
|
+
|
|
339
|
+
script:
|
|
340
|
+
- bin/rspec
|
|
341
|
+
|
|
342
|
+
# This is not repeated from the 9.2 below! 9.2.0.0 is a very specific version with a bug in the Set interoperability so
|
|
343
|
+
# we'll want to check that our workaround is working with this one even after the 9.2 branch moves on.
|
|
344
|
+
testjruby9_2_0_0:
|
|
345
|
+
image: "jruby:9.2.0.0"
|
|
346
|
+
|
|
347
|
+
# Cache gems in between builds
|
|
348
|
+
cache:
|
|
349
|
+
paths:
|
|
350
|
+
- vendor/ruby
|
|
351
|
+
|
|
352
|
+
before_script:
|
|
353
|
+
- apt-get update >/dev/null # Add UTF-8 support
|
|
354
|
+
- apt-get install -y locales >/dev/null # |
|
|
355
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
356
|
+
- locale-gen en_US.UTF-8 # |
|
|
357
|
+
- export LANG=en_US.UTF-8 # |
|
|
358
|
+
- export LANGUAGE=en_US:en # |
|
|
359
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
360
|
+
- apt-get install -y git >/dev/null # Add git binary
|
|
361
|
+
- export JRUBY_OPTS=--dev # Faster test runs
|
|
362
|
+
- ruby -v # Print out ruby version for debugging
|
|
363
|
+
- gem install bundler:'< 2' # Bundler is not installed with the image
|
|
364
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
365
|
+
|
|
366
|
+
script:
|
|
367
|
+
- bin/rspec
|
|
368
|
+
|
|
369
|
+
testjruby_9_2:
|
|
370
|
+
image: "jruby:9.2"
|
|
371
|
+
|
|
372
|
+
# Cache gems in between builds
|
|
373
|
+
cache:
|
|
374
|
+
paths:
|
|
375
|
+
- vendor/ruby
|
|
376
|
+
|
|
377
|
+
before_script:
|
|
378
|
+
- apt-get update >/dev/null # Add UTF-8 support
|
|
379
|
+
- apt-get install -y locales >/dev/null # |
|
|
380
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
381
|
+
- locale-gen en_US.UTF-8 # |
|
|
382
|
+
- export LANG=en_US.UTF-8 # |
|
|
383
|
+
- export LANGUAGE=en_US:en # |
|
|
384
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
385
|
+
- apt-get install -y git >/dev/null # Add git binary
|
|
386
|
+
- export JRUBY_OPTS=--dev # Faster test runs
|
|
387
|
+
- ruby -v # Print out ruby version for debugging
|
|
388
|
+
- gem uninstall -a -x -i /opt/jruby/lib/ruby/gems/shared bundler # Remove any pre-existing bundler
|
|
389
|
+
- gem install bundler:'< 2' # Bundler is not installed with the image
|
|
390
|
+
- bundle install -j $(nproc) --path vendor # Install dependencies into ./vendor/ruby
|
|
391
|
+
|
|
392
|
+
script:
|
|
393
|
+
- bin/rspec
|
|
394
|
+
|
|
395
|
+
testtruffleruby:
|
|
396
|
+
image: "danny02/graalvm"
|
|
397
|
+
|
|
398
|
+
before_script:
|
|
399
|
+
- gu install -c org.graalvm.ruby # Install TruffleRuby
|
|
400
|
+
- apt-get update >/dev/null # Add UTF-8 support
|
|
401
|
+
- apt-get install -y locales >/dev/null # |
|
|
402
|
+
- echo "en_US UTF-8" > /etc/locale.gen # |
|
|
403
|
+
- locale-gen en_US.UTF-8 # |
|
|
404
|
+
- export LANG=en_US.UTF-8 # |
|
|
405
|
+
- export LANGUAGE=en_US:en # |
|
|
406
|
+
- export LC_ALL=en_US.UTF-8 # v
|
|
407
|
+
- apt-get install -y git libssl-dev libssl1.1 clang llvm make >/dev/null # Add git binary + truffleruby dependencies
|
|
408
|
+
- /graalvm*/jre/languages/ruby/lib/truffle/post_install_hook.sh # Rebuild openssl extension, as suggested by install
|
|
409
|
+
# notes
|
|
410
|
+
- ruby -v # Print out ruby version for debugging
|
|
411
|
+
- bundle install -j $(nproc) # Install dependencies
|
|
412
|
+
|
|
413
|
+
script:
|
|
414
|
+
- bin/rspec
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
ruby-
|
|
1
|
+
ruby-3.0.0
|
data/README.adoc
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
:toclevels: 4
|
|
5
5
|
:toc-title:
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
image:https://badge.fury.io/rb/persistent-dmnd.svg["Gem Version", link="https://badge.fury.io/rb/persistent-dmnd"]
|
|
8
8
|
|
|
9
9
|
Are you tired of calling `.freeze` on your data structures (or your colleagues forgetting to do so)? +
|
|
10
10
|
Do you wish Ruby had a literal for creating immutable arrays?
|
|
@@ -97,7 +97,9 @@ 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
|
|
100
|
+
Persistent-💎 is fully supported and tested on Ruby versions 1.9.3 to 3.0.0, JRuby 1.7 to 9.2, and TruffleRuby 1.0+ 🎉.
|
|
101
|
+
If we don't support your Ruby, it's probably a Python binary instead (or a potato?).
|
|
102
|
+
Keep calm and 💎 away!
|
|
101
103
|
|
|
102
104
|
[discrete]
|
|
103
105
|
== Contents
|
|
@@ -372,6 +374,8 @@ When you need to go from thread-safe immutable data structures to thread-safe mu
|
|
|
372
374
|
|
|
373
375
|
You'll need to install concurrent-ruby first, see https://github.com/ruby-concurrency/concurrent-ruby#installation for instructions.
|
|
374
376
|
|
|
377
|
+
NOTE: If you're using TruffleRuby, you'll need to use concurrent-ruby >= 1.1.0, as older versions did not work correctly on TruffleRuby.
|
|
378
|
+
|
|
375
379
|
After that, you'll be able to:
|
|
376
380
|
|
|
377
381
|
==== Array
|
|
@@ -443,9 +447,9 @@ Every printable ascii character is already in use by Ruby, but I didn't want per
|
|
|
443
447
|
|
|
444
448
|
Thus, I kept my Ruby beautiful. With two very clear characters you can create an immutable data structure. No more awkward typing of namespaces. No more `.freeze` everywhere. No-one will ever mistake the use of `💎` for another operation.
|
|
445
449
|
|
|
446
|
-
|
|
450
|
+
Alas, you may not agree with me! The good news is that you can avoid having `💎` on your codebase altogether: just use `dmnd` as a replacement, as <<usage,documented above>>.
|
|
447
451
|
|
|
448
|
-
If you're having a hard time typing the emoji, I recommend just adding a quick snippet to your editor or a quick command to search-and-replace `aDmnd`/`hDmnd`/`sDmnd`/`dmndify` for `a💎`/`h💎`/`s💎`/`💎ify`. That way you get best of both worlds: easy to type, and
|
|
452
|
+
If you're having a hard time typing the emoji, I recommend just adding a quick snippet to your editor or a quick command to search-and-replace `aDmnd`/`hDmnd`/`sDmnd`/`dmndify` for `a💎`/`h💎`/`s💎`/`💎ify`. That way you get best of both worlds: easy to type, and beautiful to read!
|
|
449
453
|
|
|
450
454
|
== Usage on Ruby 1.9
|
|
451
455
|
|