bson 4.12.1 → 4.13.0

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.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/README.md +4 -7
  4. data/ext/bson/bson-native.h +2 -0
  5. data/ext/bson/init.c +9 -0
  6. data/ext/bson/read.c +29 -0
  7. data/lib/bson/active_support.rb +1 -0
  8. data/lib/bson/array.rb +2 -1
  9. data/lib/bson/binary.rb +5 -3
  10. data/lib/bson/boolean.rb +2 -1
  11. data/lib/bson/code.rb +2 -1
  12. data/lib/bson/code_with_scope.rb +2 -1
  13. data/lib/bson/config.rb +1 -0
  14. data/lib/bson/date.rb +1 -0
  15. data/lib/bson/date_time.rb +1 -0
  16. data/lib/bson/db_pointer.rb +2 -1
  17. data/lib/bson/dbref.rb +125 -0
  18. data/lib/bson/decimal128/builder.rb +18 -15
  19. data/lib/bson/decimal128.rb +10 -9
  20. data/lib/bson/document.rb +14 -0
  21. data/lib/bson/environment.rb +1 -0
  22. data/lib/bson/error.rb +7 -0
  23. data/lib/bson/ext_json.rb +16 -11
  24. data/lib/bson/false_class.rb +2 -1
  25. data/lib/bson/float.rb +20 -31
  26. data/lib/bson/hash.rb +15 -6
  27. data/lib/bson/int32.rb +3 -2
  28. data/lib/bson/int64.rb +3 -2
  29. data/lib/bson/integer.rb +3 -2
  30. data/lib/bson/json.rb +1 -0
  31. data/lib/bson/max_key.rb +3 -2
  32. data/lib/bson/min_key.rb +3 -2
  33. data/lib/bson/nil_class.rb +2 -1
  34. data/lib/bson/object.rb +1 -0
  35. data/lib/bson/object_id.rb +4 -3
  36. data/lib/bson/open_struct.rb +1 -0
  37. data/lib/bson/regexp.rb +17 -6
  38. data/lib/bson/registry.rb +1 -0
  39. data/lib/bson/specialized.rb +1 -0
  40. data/lib/bson/string.rb +3 -2
  41. data/lib/bson/symbol.rb +2 -1
  42. data/lib/bson/time.rb +4 -3
  43. data/lib/bson/time_with_zone.rb +1 -0
  44. data/lib/bson/timestamp.rb +3 -2
  45. data/lib/bson/true_class.rb +2 -1
  46. data/lib/bson/undefined.rb +2 -1
  47. data/lib/bson/version.rb +2 -1
  48. data/lib/bson.rb +6 -4
  49. data/spec/README.md +14 -0
  50. data/spec/bson/dbref_spec.rb +461 -0
  51. data/spec/bson/document_spec.rb +7 -1
  52. data/spec/bson/ext_json_parse_spec.rb +37 -0
  53. data/spec/bson/int64_spec.rb +4 -24
  54. data/spec/bson/raw_spec.rb +7 -1
  55. data/spec/bson/regexp_spec.rb +52 -0
  56. data/spec/runners/common_driver.rb +1 -1
  57. data/spec/shared/LICENSE +20 -0
  58. data/spec/shared/bin/get-mongodb-download-url +17 -0
  59. data/spec/shared/lib/mrss/child_process_helper.rb +80 -0
  60. data/spec/shared/lib/mrss/cluster_config.rb +221 -0
  61. data/spec/shared/lib/mrss/constraints.rb +346 -0
  62. data/spec/shared/lib/mrss/docker_runner.rb +265 -0
  63. data/spec/shared/lib/mrss/lite_constraints.rb +191 -0
  64. data/spec/shared/lib/mrss/server_version_registry.rb +115 -0
  65. data/spec/shared/lib/mrss/spec_organizer.rb +152 -0
  66. data/spec/shared/lib/mrss/utils.rb +15 -0
  67. data/spec/shared/share/Dockerfile.erb +231 -0
  68. data/spec/shared/shlib/distro.sh +73 -0
  69. data/spec/shared/shlib/server.sh +290 -0
  70. data/spec/shared/shlib/set_env.sh +128 -0
  71. data/spec/spec_helper.rb +9 -1
  72. data/spec/spec_tests/data/corpus/binary.json +5 -0
  73. data/spec/spec_tests/data/corpus/dbref.json +21 -1
  74. data/spec/spec_tests/data/corpus/document.json +4 -0
  75. data/spec/spec_tests/data/corpus/regex.json +2 -2
  76. data/spec/spec_tests/data/corpus/top.json +20 -9
  77. data.tar.gz.sig +0 -0
  78. metadata +123 -90
  79. metadata.gz.sig +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bson
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.12.1
4
+ version: 4.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Brock
@@ -33,7 +33,7 @@ cert_chain:
33
33
  YoFhlyUEi7VLlqNH0H/JFttVZK6+qmLelkVNcIYVLeWOB4Lf4VxEiYGEK1ORxsrY
34
34
  iyYKJJALWY1FAInGRIlvkN+B8o3yIhq1
35
35
  -----END CERTIFICATE-----
36
- date: 2021-05-28 00:00:00.000000000 Z
36
+ date: 2021-12-23 00:00:00.000000000 Z
37
37
  dependencies: []
38
38
  description: A fully featured BSON specification implementation in Ruby
39
39
  email:
@@ -69,6 +69,7 @@ files:
69
69
  - lib/bson/date.rb
70
70
  - lib/bson/date_time.rb
71
71
  - lib/bson/db_pointer.rb
72
+ - lib/bson/dbref.rb
72
73
  - lib/bson/decimal128.rb
73
74
  - lib/bson/decimal128/builder.rb
74
75
  - lib/bson/document.rb
@@ -99,6 +100,7 @@ files:
99
100
  - lib/bson/true_class.rb
100
101
  - lib/bson/undefined.rb
101
102
  - lib/bson/version.rb
103
+ - spec/README.md
102
104
  - spec/bson/array_spec.rb
103
105
  - spec/bson/binary_spec.rb
104
106
  - spec/bson/binary_uuid_spec.rb
@@ -111,6 +113,7 @@ files:
111
113
  - spec/bson/config_spec.rb
112
114
  - spec/bson/date_spec.rb
113
115
  - spec/bson/date_time_spec.rb
116
+ - spec/bson/dbref_spec.rb
114
117
  - spec/bson/decimal128_spec.rb
115
118
  - spec/bson/document_as_spec.rb
116
119
  - spec/bson/document_spec.rb
@@ -144,6 +147,20 @@ files:
144
147
  - spec/runners/common_driver.rb
145
148
  - spec/runners/corpus.rb
146
149
  - spec/runners/corpus_legacy.rb
150
+ - spec/shared/LICENSE
151
+ - spec/shared/bin/get-mongodb-download-url
152
+ - spec/shared/lib/mrss/child_process_helper.rb
153
+ - spec/shared/lib/mrss/cluster_config.rb
154
+ - spec/shared/lib/mrss/constraints.rb
155
+ - spec/shared/lib/mrss/docker_runner.rb
156
+ - spec/shared/lib/mrss/lite_constraints.rb
157
+ - spec/shared/lib/mrss/server_version_registry.rb
158
+ - spec/shared/lib/mrss/spec_organizer.rb
159
+ - spec/shared/lib/mrss/utils.rb
160
+ - spec/shared/share/Dockerfile.erb
161
+ - spec/shared/shlib/distro.sh
162
+ - spec/shared/shlib/server.sh
163
+ - spec/shared/shlib/set_env.sh
147
164
  - spec/spec_helper.rb
148
165
  - spec/spec_tests/common_driver_spec.rb
149
166
  - spec/spec_tests/corpus_legacy_spec.rb
@@ -228,7 +245,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
228
245
  requirements:
229
246
  - - ">="
230
247
  - !ruby/object:Gem::Version
231
- version: '2.3'
248
+ version: '2.5'
232
249
  required_rubygems_version: !ruby/object:Gem::Requirement
233
250
  requirements:
234
251
  - - ">="
@@ -241,115 +258,131 @@ signing_key:
241
258
  specification_version: 4
242
259
  summary: Ruby implementation of the BSON specification
243
260
  test_files:
244
- - spec/bson/true_class_spec.rb
261
+ - spec/bson_spec.rb
262
+ - spec/runners/corpus_legacy.rb
263
+ - spec/runners/common_driver.rb
264
+ - spec/runners/corpus.rb
265
+ - spec/bson/raw_spec.rb
266
+ - spec/bson/date_spec.rb
245
267
  - spec/bson/false_class_spec.rb
246
- - spec/bson/object_spec.rb
247
- - spec/bson/json_spec.rb
268
+ - spec/bson/dbref_spec.rb
269
+ - spec/bson/symbol_spec.rb
248
270
  - spec/bson/undefined_spec.rb
249
- - spec/bson/time_with_zone_spec.rb
250
271
  - spec/bson/max_key_spec.rb
272
+ - spec/bson/integer_spec.rb
251
273
  - spec/bson/float_spec.rb
252
- - spec/bson/int32_spec.rb
253
- - spec/bson/boolean_spec.rb
254
- - spec/bson/int64_spec.rb
274
+ - spec/bson/code_spec.rb
255
275
  - spec/bson/min_key_spec.rb
256
- - spec/bson/date_time_spec.rb
257
- - spec/bson/date_spec.rb
258
- - spec/bson/registry_spec.rb
259
- - spec/bson/hash_as_spec.rb
276
+ - spec/bson/time_spec.rb
277
+ - spec/bson/time_with_zone_spec.rb
278
+ - spec/bson/code_with_scope_spec.rb
260
279
  - spec/bson/regexp_spec.rb
261
- - spec/bson/timestamp_spec.rb
262
- - spec/bson/decimal128_spec.rb
263
- - spec/bson/binary_uuid_spec.rb
264
- - spec/bson/binary_spec.rb
280
+ - spec/bson/hash_as_spec.rb
281
+ - spec/bson/boolean_spec.rb
282
+ - spec/bson/nil_class_spec.rb
283
+ - spec/bson/byte_buffer_write_spec.rb
284
+ - spec/bson/config_spec.rb
285
+ - spec/bson/int32_spec.rb
286
+ - spec/bson/document_spec.rb
287
+ - spec/bson/symbol_raw_spec.rb
288
+ - spec/bson/object_spec.rb
265
289
  - spec/bson/document_as_spec.rb
266
- - spec/bson/code_spec.rb
267
- - spec/bson/array_spec.rb
268
- - spec/bson/time_spec.rb
269
- - spec/bson/raw_spec.rb
290
+ - spec/bson/binary_uuid_spec.rb
291
+ - spec/bson/byte_buffer_spec.rb
292
+ - spec/bson/true_class_spec.rb
270
293
  - spec/bson/string_spec.rb
271
294
  - spec/bson/hash_spec.rb
295
+ - spec/bson/decimal128_spec.rb
296
+ - spec/bson/byte_buffer_read_spec.rb
297
+ - spec/bson/int64_spec.rb
272
298
  - spec/bson/object_id_spec.rb
299
+ - spec/bson/timestamp_spec.rb
300
+ - spec/bson/json_spec.rb
301
+ - spec/bson/array_spec.rb
302
+ - spec/bson/date_time_spec.rb
303
+ - spec/bson/binary_spec.rb
304
+ - spec/bson/registry_spec.rb
273
305
  - spec/bson/ext_json_parse_spec.rb
274
- - spec/bson/document_spec.rb
275
- - spec/bson/symbol_spec.rb
276
306
  - spec/bson/open_struct_spec.rb
277
- - spec/bson/code_with_scope_spec.rb
278
- - spec/bson/symbol_raw_spec.rb
279
- - spec/bson/byte_buffer_write_spec.rb
280
- - spec/bson/byte_buffer_spec.rb
281
- - spec/bson/nil_class_spec.rb
282
- - spec/bson/byte_buffer_read_spec.rb
283
- - spec/bson/config_spec.rb
284
- - spec/bson/integer_spec.rb
285
- - spec/support/shared_examples.rb
286
- - spec/support/utils.rb
287
- - spec/support/spec_config.rb
288
- - spec/spec_helper.rb
289
- - spec/spec_tests/data/corpus_legacy/failures/dbpointer.json
290
- - spec/spec_tests/data/corpus_legacy/failures/symbol.json
291
- - spec/spec_tests/data/corpus_legacy/failures/int64.json
292
- - spec/spec_tests/data/corpus_legacy/failures/datetime.json
293
- - spec/spec_tests/data/corpus_legacy/timestamp.json
294
- - spec/spec_tests/data/corpus_legacy/top.json
295
- - spec/spec_tests/data/corpus_legacy/maxkey.json
296
- - spec/spec_tests/data/corpus_legacy/undefined.json
297
- - spec/spec_tests/data/corpus_legacy/array.json
298
- - spec/spec_tests/data/corpus_legacy/int32.json
299
- - spec/spec_tests/data/corpus_legacy/oid.json
300
- - spec/spec_tests/data/corpus_legacy/regex.json
301
- - spec/spec_tests/data/corpus_legacy/binary.json
302
- - spec/spec_tests/data/corpus_legacy/null.json
303
- - spec/spec_tests/data/corpus_legacy/string.json
304
- - spec/spec_tests/data/corpus_legacy/document.json
305
- - spec/spec_tests/data/corpus_legacy/minkey.json
306
- - spec/spec_tests/data/corpus_legacy/boolean.json
307
- - spec/spec_tests/data/corpus_legacy/code.json
308
- - spec/spec_tests/data/corpus_legacy/double.json
309
- - spec/spec_tests/data/corpus_legacy/code_w_scope.json
310
- - spec/spec_tests/data/decimal128/decimal128-4.json
311
- - spec/spec_tests/data/decimal128/decimal128-6.json
312
- - spec/spec_tests/data/decimal128/decimal128-2.json
313
- - spec/spec_tests/data/decimal128/decimal128-1.json
314
- - spec/spec_tests/data/decimal128/decimal128-7.json
307
+ - spec/README.md
315
308
  - spec/spec_tests/data/decimal128/decimal128-3.json
316
309
  - spec/spec_tests/data/decimal128/decimal128-5.json
317
- - spec/spec_tests/data/corpus/timestamp.json
318
- - spec/spec_tests/data/corpus/top.json
319
- - spec/spec_tests/data/corpus/maxkey.json
320
- - spec/spec_tests/data/corpus/decimal128-4.json
321
- - spec/spec_tests/data/corpus/dbpointer.json
322
- - spec/spec_tests/data/corpus/undefined.json
310
+ - spec/spec_tests/data/decimal128/decimal128-2.json
311
+ - spec/spec_tests/data/decimal128/decimal128-7.json
312
+ - spec/spec_tests/data/decimal128/decimal128-4.json
313
+ - spec/spec_tests/data/decimal128/decimal128-1.json
314
+ - spec/spec_tests/data/decimal128/decimal128-6.json
323
315
  - spec/spec_tests/data/corpus/array.json
324
- - spec/spec_tests/data/corpus/decimal128-6.json
325
- - spec/spec_tests/data/corpus/README.md
326
- - spec/spec_tests/data/corpus/int32.json
327
- - spec/spec_tests/data/corpus/oid.json
328
- - spec/spec_tests/data/corpus/regex.json
329
- - spec/spec_tests/data/corpus/binary.json
330
- - spec/spec_tests/data/corpus/symbol.json
331
- - spec/spec_tests/data/corpus/null.json
332
- - spec/spec_tests/data/corpus/decimal128-2.json
316
+ - spec/spec_tests/data/corpus/multi-type-deprecated.json
333
317
  - spec/spec_tests/data/corpus/string.json
318
+ - spec/spec_tests/data/corpus/timestamp.json
319
+ - spec/spec_tests/data/corpus/double.json
320
+ - spec/spec_tests/data/corpus/binary.json
334
321
  - spec/spec_tests/data/corpus/document.json
335
- - spec/spec_tests/data/corpus/dbref.json
336
- - spec/spec_tests/data/corpus/decimal128-1.json
337
- - spec/spec_tests/data/corpus/minkey.json
322
+ - spec/spec_tests/data/corpus/null.json
323
+ - spec/spec_tests/data/corpus/decimal128-3.json
338
324
  - spec/spec_tests/data/corpus/boolean.json
339
- - spec/spec_tests/data/corpus/int64.json
325
+ - spec/spec_tests/data/corpus/regex.json
326
+ - spec/spec_tests/data/corpus/oid.json
327
+ - spec/spec_tests/data/corpus/README.md
340
328
  - spec/spec_tests/data/corpus/code.json
341
- - spec/spec_tests/data/corpus/decimal128-7.json
342
- - spec/spec_tests/data/corpus/decimal128-3.json
329
+ - spec/spec_tests/data/corpus/undefined.json
330
+ - spec/spec_tests/data/corpus/datetime.json
331
+ - spec/spec_tests/data/corpus/int32.json
343
332
  - spec/spec_tests/data/corpus/decimal128-5.json
344
- - spec/spec_tests/data/corpus/double.json
333
+ - spec/spec_tests/data/corpus/dbref.json
345
334
  - spec/spec_tests/data/corpus/multi-type.json
346
- - spec/spec_tests/data/corpus/multi-type-deprecated.json
347
- - spec/spec_tests/data/corpus/datetime.json
335
+ - spec/spec_tests/data/corpus/decimal128-2.json
336
+ - spec/spec_tests/data/corpus/dbpointer.json
337
+ - spec/spec_tests/data/corpus/decimal128-7.json
338
+ - spec/spec_tests/data/corpus/symbol.json
339
+ - spec/spec_tests/data/corpus/top.json
340
+ - spec/spec_tests/data/corpus/minkey.json
341
+ - spec/spec_tests/data/corpus/maxkey.json
342
+ - spec/spec_tests/data/corpus/decimal128-4.json
343
+ - spec/spec_tests/data/corpus/decimal128-1.json
344
+ - spec/spec_tests/data/corpus/int64.json
348
345
  - spec/spec_tests/data/corpus/code_w_scope.json
346
+ - spec/spec_tests/data/corpus/decimal128-6.json
347
+ - spec/spec_tests/data/corpus_legacy/array.json
348
+ - spec/spec_tests/data/corpus_legacy/string.json
349
+ - spec/spec_tests/data/corpus_legacy/timestamp.json
350
+ - spec/spec_tests/data/corpus_legacy/double.json
351
+ - spec/spec_tests/data/corpus_legacy/binary.json
352
+ - spec/spec_tests/data/corpus_legacy/document.json
353
+ - spec/spec_tests/data/corpus_legacy/null.json
354
+ - spec/spec_tests/data/corpus_legacy/boolean.json
355
+ - spec/spec_tests/data/corpus_legacy/regex.json
356
+ - spec/spec_tests/data/corpus_legacy/oid.json
357
+ - spec/spec_tests/data/corpus_legacy/code.json
358
+ - spec/spec_tests/data/corpus_legacy/undefined.json
359
+ - spec/spec_tests/data/corpus_legacy/int32.json
360
+ - spec/spec_tests/data/corpus_legacy/failures/datetime.json
361
+ - spec/spec_tests/data/corpus_legacy/failures/dbpointer.json
362
+ - spec/spec_tests/data/corpus_legacy/failures/symbol.json
363
+ - spec/spec_tests/data/corpus_legacy/failures/int64.json
364
+ - spec/spec_tests/data/corpus_legacy/top.json
365
+ - spec/spec_tests/data/corpus_legacy/minkey.json
366
+ - spec/spec_tests/data/corpus_legacy/maxkey.json
367
+ - spec/spec_tests/data/corpus_legacy/code_w_scope.json
349
368
  - spec/spec_tests/corpus_spec.rb
350
369
  - spec/spec_tests/corpus_legacy_spec.rb
351
370
  - spec/spec_tests/common_driver_spec.rb
352
- - spec/runners/corpus_legacy.rb
353
- - spec/runners/corpus.rb
354
- - spec/runners/common_driver.rb
355
- - spec/bson_spec.rb
371
+ - spec/spec_helper.rb
372
+ - spec/support/utils.rb
373
+ - spec/support/spec_config.rb
374
+ - spec/support/shared_examples.rb
375
+ - spec/shared/share/Dockerfile.erb
376
+ - spec/shared/bin/get-mongodb-download-url
377
+ - spec/shared/shlib/distro.sh
378
+ - spec/shared/shlib/set_env.sh
379
+ - spec/shared/shlib/server.sh
380
+ - spec/shared/LICENSE
381
+ - spec/shared/lib/mrss/constraints.rb
382
+ - spec/shared/lib/mrss/cluster_config.rb
383
+ - spec/shared/lib/mrss/child_process_helper.rb
384
+ - spec/shared/lib/mrss/utils.rb
385
+ - spec/shared/lib/mrss/server_version_registry.rb
386
+ - spec/shared/lib/mrss/lite_constraints.rb
387
+ - spec/shared/lib/mrss/docker_runner.rb
388
+ - spec/shared/lib/mrss/spec_organizer.rb
metadata.gz.sig CHANGED
Binary file