bson 4.12.1 → 4.13.0

Sign up to get free protection for your applications and to get access to all the features.
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