persistent-dmnd 1.0.1 → 2.0.1

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: 29dbca88c51d0e49932b3f38fe2e210d39e00f3b976adb1876aa33e086d02576
4
- data.tar.gz: cabea99e2afa0b0539b1a18c90569ab76252c9d05cd20fd36c8e9f92bfa1cf9f
3
+ metadata.gz: 71b6af1818f39a80e94958c1595c705796e42a070b051e68c1ae5c3adc86d841
4
+ data.tar.gz: cfc5b79d10788173955d652dc12f5f23b39a7abc130bfe09f845befed9325559
5
5
  SHA512:
6
- metadata.gz: 0b11b0d5702ce13aa8ff10fd9181f1211bab465ab02292a2ddb3850d52c407b3d1296c9941d0628dd9e99eb7e2e6533927a8747faf7231bd435c62feed8db227
7
- data.tar.gz: d33ffce384b3a2b3814d5ea3ce48ed017d48b0664b0c17bb9f7566ef220ec3769187807c8dd6681e9a2262001eb401ec1636dd4539c0b5b87175ef82f61b0a9d
6
+ metadata.gz: 84f09d670a7364d469c9c12479b2d43288a1e18e8274cc51beeffd48d8e771aa0e492920034c03ba8b005ace03716009e4419bf92c63bf3ad6bb7c6d06d570cb
7
+ data.tar.gz: cbcebc6c5a323250d53e20a46417af6aa1d51c6ef5e1c4b8a04b6e2678c4845b4609b2cc3dfa0d5ef3682038d245ea0723f95fedb012ef266c2d47b7adde5df0
@@ -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
@@ -1 +1 @@
1
- ruby-2.5.1
1
+ ruby-3.0.0
@@ -4,7 +4,7 @@
4
4
  :toclevels: 4
5
5
  :toc-title:
6
6
 
7
- // image:https://travis-ci.org/ivoanjo/persistent-dmnd.svg?branch=master["Build Status", link="https://travis-ci.org/ivoanjo/persistent-dmnd"]
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 2.6.0-preview1, and JRuby 1.7 to to 9.1. If we don't support your Ruby, it's probably a Python binary. Keep calm and 💎 away!
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
- Now you can avoid having `💎` on your codebase altogether: just use `dmnd`, as <<usage,suggested above>>.
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 easy to read!
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