bson 4.8.0 → 4.9.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.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/README.md +18 -6
  5. data/ext/bson/bson-endian.h +1 -1
  6. data/ext/bson/bson-native.h +1 -1
  7. data/ext/bson/bytebuf.c +1 -1
  8. data/ext/bson/endian.c +1 -1
  9. data/ext/bson/init.c +1 -1
  10. data/ext/bson/read.c +67 -19
  11. data/ext/bson/util.c +1 -1
  12. data/ext/bson/write.c +1 -1
  13. data/lib/bson.rb +1 -1
  14. data/lib/bson/active_support.rb +1 -1
  15. data/lib/bson/array.rb +14 -3
  16. data/lib/bson/binary.rb +1 -1
  17. data/lib/bson/boolean.rb +9 -2
  18. data/lib/bson/code.rb +1 -1
  19. data/lib/bson/code_with_scope.rb +16 -3
  20. data/lib/bson/config.rb +1 -1
  21. data/lib/bson/date.rb +1 -1
  22. data/lib/bson/date_time.rb +1 -1
  23. data/lib/bson/db_pointer.rb +7 -1
  24. data/lib/bson/decimal128.rb +1 -1
  25. data/lib/bson/decimal128/builder.rb +1 -1
  26. data/lib/bson/document.rb +1 -1
  27. data/lib/bson/environment.rb +2 -1
  28. data/lib/bson/error.rb +4 -0
  29. data/lib/bson/ext_json.rb +4 -3
  30. data/lib/bson/false_class.rb +1 -1
  31. data/lib/bson/float.rb +1 -1
  32. data/lib/bson/hash.rb +14 -3
  33. data/lib/bson/int32.rb +1 -1
  34. data/lib/bson/int64.rb +1 -1
  35. data/lib/bson/integer.rb +1 -1
  36. data/lib/bson/json.rb +1 -1
  37. data/lib/bson/max_key.rb +1 -1
  38. data/lib/bson/min_key.rb +1 -1
  39. data/lib/bson/nil_class.rb +1 -1
  40. data/lib/bson/object.rb +1 -1
  41. data/lib/bson/object_id.rb +1 -1
  42. data/lib/bson/open_struct.rb +1 -1
  43. data/lib/bson/regexp.rb +8 -2
  44. data/lib/bson/registry.rb +1 -1
  45. data/lib/bson/specialized.rb +1 -1
  46. data/lib/bson/string.rb +1 -1
  47. data/lib/bson/symbol.rb +1 -1
  48. data/lib/bson/time.rb +40 -6
  49. data/lib/bson/time_with_zone.rb +1 -1
  50. data/lib/bson/timestamp.rb +1 -1
  51. data/lib/bson/true_class.rb +1 -1
  52. data/lib/bson/undefined.rb +1 -1
  53. data/lib/bson/version.rb +2 -2
  54. data/spec/bson/array_spec.rb +1 -1
  55. data/spec/bson/binary_spec.rb +1 -1
  56. data/spec/bson/binary_uuid_spec.rb +1 -1
  57. data/spec/bson/boolean_spec.rb +1 -1
  58. data/spec/bson/code_spec.rb +1 -1
  59. data/spec/bson/code_with_scope_spec.rb +1 -1
  60. data/spec/bson/date_spec.rb +1 -1
  61. data/spec/bson/date_time_spec.rb +1 -1
  62. data/spec/bson/decimal128_spec.rb +1 -1
  63. data/spec/bson/document_spec.rb +1 -1
  64. data/spec/bson/ext_json_parse_spec.rb +34 -2
  65. data/spec/bson/false_class_spec.rb +1 -1
  66. data/spec/bson/float_spec.rb +1 -1
  67. data/spec/bson/hash_spec.rb +1 -1
  68. data/spec/bson/int32_spec.rb +1 -1
  69. data/spec/bson/int64_spec.rb +1 -1
  70. data/spec/bson/integer_spec.rb +1 -1
  71. data/spec/bson/json_spec.rb +1 -1
  72. data/spec/bson/max_key_spec.rb +1 -1
  73. data/spec/bson/min_key_spec.rb +1 -1
  74. data/spec/bson/nil_class_spec.rb +1 -1
  75. data/spec/bson/object_id_spec.rb +1 -1
  76. data/spec/bson/object_spec.rb +1 -1
  77. data/spec/bson/open_struct_spec.rb +1 -1
  78. data/spec/bson/raw_spec.rb +12 -1
  79. data/spec/bson/regexp_spec.rb +1 -1
  80. data/spec/bson/registry_spec.rb +1 -1
  81. data/spec/bson/string_spec.rb +1 -1
  82. data/spec/bson/symbol_spec.rb +1 -1
  83. data/spec/bson/time_spec.rb +205 -2
  84. data/spec/bson/time_with_zone_spec.rb +1 -1
  85. data/spec/bson/timestamp_spec.rb +1 -1
  86. data/spec/bson/true_class_spec.rb +1 -1
  87. data/spec/bson/undefined_spec.rb +1 -1
  88. data/spec/bson_spec.rb +1 -1
  89. data/spec/runners/common_driver.rb +1 -1
  90. data/spec/runners/corpus.rb +13 -10
  91. data/spec/runners/corpus_legacy.rb +1 -1
  92. data/spec/spec_helper.rb +1 -1
  93. data/spec/spec_tests/data/corpus/top.json +0 -4
  94. data/spec/support/shared_examples.rb +1 -1
  95. metadata +86 -87
  96. metadata.gz.sig +3 -2
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2016-2019 MongoDB, Inc.
1
+ # Copyright (C) 2016-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -41,10 +41,6 @@
41
41
  "description": "Stated length exceeds byte count, with truncated document",
42
42
  "bson": "1200000002666F6F0004000000626172"
43
43
  },
44
- {
45
- "description": "Stated length less than byte count, with garbage after envelope",
46
- "bson": "1200000002666F6F00040000006261720000DEADBEEF"
47
- },
48
44
  {
49
45
  "description": "Stated length exceeds byte count, with valid envelope",
50
46
  "bson": "1300000002666F6F00040000006261720000"
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2019 MongoDB Inc.
1
+ # Copyright (C) 2009-2020 MongoDB Inc.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
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.8.0
4
+ version: 4.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Brock
@@ -33,11 +33,10 @@ cert_chain:
33
33
  gpvfPNWMwyBDlHaNS3GfO6cRRxBOvEG05GUCsvtTY4Bpe8yjE64wg1ymb47LMOnv
34
34
  Qb1lGORmf/opg45mluKUYl7pQNZHD0d3
35
35
  -----END CERTIFICATE-----
36
- date: 2020-02-27 00:00:00.000000000 Z
36
+ date: 2020-06-08 00:00:00.000000000 Z
37
37
  dependencies: []
38
38
  description: A fully featured BSON specification implementation in Ruby
39
- email:
40
- - mongodb-dev@googlegroups.com
39
+ email:
41
40
  executables: []
42
41
  extensions:
43
42
  - ext/bson/extconf.rb
@@ -218,7 +217,6 @@ metadata:
218
217
  changelog_uri: https://github.com/mongodb/bson-ruby/releases
219
218
  documentation_uri: https://docs.mongodb.com/ruby-driver/current/tutorials/bson-v4/
220
219
  homepage_uri: https://docs.mongodb.com/ruby-driver/current/tutorials/bson-v4/
221
- mailing_list_uri: https://groups.google.com/group/mongodb-user
222
220
  source_code_uri: https://github.com/mongodb/bson-ruby
223
221
  post_install_message:
224
222
  rdoc_options: []
@@ -235,118 +233,119 @@ required_rubygems_version: !ruby/object:Gem::Requirement
235
233
  - !ruby/object:Gem::Version
236
234
  version: 1.3.6
237
235
  requirements: []
238
- rubygems_version: 3.0.1
236
+ rubyforge_project:
237
+ rubygems_version: 2.7.6.2
239
238
  signing_key:
240
239
  specification_version: 4
241
240
  summary: Ruby implementation of the BSON specification
242
241
  test_files:
243
- - spec/bson/min_key_spec.rb
244
- - spec/bson/undefined_spec.rb
245
- - spec/bson/regexp_spec.rb
242
+ - spec/runners/corpus.rb
243
+ - spec/runners/corpus_legacy.rb
244
+ - spec/runners/common_driver.rb
245
+ - spec/bson/max_key_spec.rb
246
+ - spec/bson/byte_buffer_spec.rb
247
+ - spec/bson/ext_json_parse_spec.rb
248
+ - spec/bson/byte_buffer_read_spec.rb
246
249
  - spec/bson/decimal128_spec.rb
247
- - spec/bson/code_spec.rb
248
- - spec/bson/time_spec.rb
250
+ - spec/bson/date_spec.rb
249
251
  - spec/bson/object_spec.rb
250
- - spec/bson/integer_spec.rb
252
+ - spec/bson/int64_spec.rb
253
+ - spec/bson/int32_spec.rb
254
+ - spec/bson/object_id_spec.rb
255
+ - spec/bson/hash_spec.rb
251
256
  - spec/bson/string_spec.rb
252
- - spec/bson/byte_buffer_read_spec.rb
253
- - spec/bson/config_spec.rb
254
- - spec/bson/json_spec.rb
255
257
  - spec/bson/boolean_spec.rb
256
- - spec/bson/hash_spec.rb
258
+ - spec/bson/timestamp_spec.rb
257
259
  - spec/bson/open_struct_spec.rb
260
+ - spec/bson/config_spec.rb
258
261
  - spec/bson/nil_class_spec.rb
259
- - spec/bson/array_spec.rb
262
+ - spec/bson/regexp_spec.rb
263
+ - spec/bson/time_with_zone_spec.rb
264
+ - spec/bson/code_spec.rb
260
265
  - spec/bson/false_class_spec.rb
261
- - spec/bson/symbol_raw_spec.rb
262
- - spec/bson/binary_uuid_spec.rb
263
- - spec/bson/ext_json_parse_spec.rb
264
- - spec/bson/true_class_spec.rb
265
- - spec/bson/date_spec.rb
266
- - spec/bson/byte_buffer_write_spec.rb
267
- - spec/bson/int64_spec.rb
268
- - spec/bson/timestamp_spec.rb
269
- - spec/bson/max_key_spec.rb
270
266
  - spec/bson/raw_spec.rb
271
- - spec/bson/byte_buffer_spec.rb
272
- - spec/bson/document_spec.rb
273
- - spec/bson/code_with_scope_spec.rb
274
- - spec/bson/float_spec.rb
275
- - spec/bson/time_with_zone_spec.rb
276
267
  - spec/bson/binary_spec.rb
277
- - spec/bson/registry_spec.rb
268
+ - spec/bson/array_spec.rb
269
+ - spec/bson/code_with_scope_spec.rb
278
270
  - spec/bson/symbol_spec.rb
271
+ - spec/bson/float_spec.rb
272
+ - spec/bson/symbol_raw_spec.rb
273
+ - spec/bson/true_class_spec.rb
274
+ - spec/bson/integer_spec.rb
275
+ - spec/bson/binary_uuid_spec.rb
276
+ - spec/bson/time_spec.rb
277
+ - spec/bson/json_spec.rb
279
278
  - spec/bson/date_time_spec.rb
280
- - spec/bson/object_id_spec.rb
281
- - spec/bson/int32_spec.rb
282
- - spec/support/utils.rb
279
+ - spec/bson/document_spec.rb
280
+ - spec/bson/byte_buffer_write_spec.rb
281
+ - spec/bson/min_key_spec.rb
282
+ - spec/bson/undefined_spec.rb
283
+ - spec/bson/registry_spec.rb
283
284
  - spec/support/shared_examples.rb
284
285
  - spec/support/spec_config.rb
285
- - spec/bson_spec.rb
286
- - spec/spec_tests/corpus_spec.rb
287
- - spec/spec_tests/corpus_legacy_spec.rb
288
- - spec/spec_tests/data/decimal128/decimal128-6.json
289
- - spec/spec_tests/data/decimal128/decimal128-3.json
290
- - spec/spec_tests/data/decimal128/decimal128-1.json
291
- - spec/spec_tests/data/decimal128/decimal128-4.json
292
- - spec/spec_tests/data/decimal128/decimal128-7.json
293
- - spec/spec_tests/data/decimal128/decimal128-5.json
294
- - spec/spec_tests/data/decimal128/decimal128-2.json
295
- - spec/spec_tests/data/corpus_legacy/code_w_scope.json
296
- - spec/spec_tests/data/corpus_legacy/undefined.json
286
+ - spec/support/utils.rb
297
287
  - spec/spec_tests/data/corpus_legacy/code.json
298
- - spec/spec_tests/data/corpus_legacy/oid.json
299
- - spec/spec_tests/data/corpus_legacy/timestamp.json
300
- - spec/spec_tests/data/corpus_legacy/string.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/int32.json
304
- - spec/spec_tests/data/corpus_legacy/maxkey.json
305
- - spec/spec_tests/data/corpus_legacy/array.json
306
- - spec/spec_tests/data/corpus_legacy/regex.json
307
- - spec/spec_tests/data/corpus_legacy/minkey.json
308
- - spec/spec_tests/data/corpus_legacy/top.json
288
+ - spec/spec_tests/data/corpus_legacy/code_w_scope.json
309
289
  - spec/spec_tests/data/corpus_legacy/failures/symbol.json
290
+ - spec/spec_tests/data/corpus_legacy/failures/datetime.json
310
291
  - spec/spec_tests/data/corpus_legacy/failures/int64.json
311
292
  - spec/spec_tests/data/corpus_legacy/failures/dbpointer.json
312
- - spec/spec_tests/data/corpus_legacy/failures/datetime.json
293
+ - spec/spec_tests/data/corpus_legacy/null.json
313
294
  - spec/spec_tests/data/corpus_legacy/boolean.json
314
- - spec/spec_tests/data/corpus_legacy/double.json
295
+ - spec/spec_tests/data/corpus_legacy/oid.json
296
+ - spec/spec_tests/data/corpus_legacy/regex.json
297
+ - spec/spec_tests/data/corpus_legacy/array.json
315
298
  - spec/spec_tests/data/corpus_legacy/document.json
316
- - spec/spec_tests/data/corpus/code_w_scope.json
317
- - spec/spec_tests/data/corpus/undefined.json
299
+ - spec/spec_tests/data/corpus_legacy/undefined.json
300
+ - spec/spec_tests/data/corpus_legacy/binary.json
301
+ - spec/spec_tests/data/corpus_legacy/minkey.json
302
+ - spec/spec_tests/data/corpus_legacy/maxkey.json
303
+ - spec/spec_tests/data/corpus_legacy/int32.json
304
+ - spec/spec_tests/data/corpus_legacy/timestamp.json
305
+ - spec/spec_tests/data/corpus_legacy/top.json
306
+ - spec/spec_tests/data/corpus_legacy/string.json
307
+ - spec/spec_tests/data/corpus_legacy/double.json
318
308
  - spec/spec_tests/data/corpus/code.json
319
- - spec/spec_tests/data/corpus/decimal128-6.json
320
- - spec/spec_tests/data/corpus/oid.json
321
- - spec/spec_tests/data/corpus/timestamp.json
322
- - spec/spec_tests/data/corpus/decimal128-3.json
323
- - spec/spec_tests/data/corpus/string.json
324
- - spec/spec_tests/data/corpus/binary.json
309
+ - spec/spec_tests/data/corpus/code_w_scope.json
310
+ - spec/spec_tests/data/corpus/decimal128-1.json
325
311
  - spec/spec_tests/data/corpus/null.json
326
- - spec/spec_tests/data/corpus/int32.json
327
312
  - spec/spec_tests/data/corpus/multi-type.json
328
- - spec/spec_tests/data/corpus/decimal128-1.json
329
- - spec/spec_tests/data/corpus/decimal128-4.json
330
- - spec/spec_tests/data/corpus/README.md
331
- - spec/spec_tests/data/corpus/maxkey.json
332
- - spec/spec_tests/data/corpus/array.json
333
- - spec/spec_tests/data/corpus/regex.json
334
- - spec/spec_tests/data/corpus/dbref.json
313
+ - spec/spec_tests/data/corpus/boolean.json
335
314
  - spec/spec_tests/data/corpus/symbol.json
336
- - spec/spec_tests/data/corpus/minkey.json
315
+ - spec/spec_tests/data/corpus/datetime.json
316
+ - spec/spec_tests/data/corpus/oid.json
317
+ - spec/spec_tests/data/corpus/regex.json
318
+ - spec/spec_tests/data/corpus/int64.json
337
319
  - spec/spec_tests/data/corpus/decimal128-7.json
338
- - spec/spec_tests/data/corpus/top.json
320
+ - spec/spec_tests/data/corpus/array.json
321
+ - spec/spec_tests/data/corpus/decimal128-3.json
339
322
  - spec/spec_tests/data/corpus/decimal128-5.json
340
- - spec/spec_tests/data/corpus/boolean.json
341
- - spec/spec_tests/data/corpus/int64.json
342
- - spec/spec_tests/data/corpus/decimal128-2.json
323
+ - spec/spec_tests/data/corpus/document.json
324
+ - spec/spec_tests/data/corpus/multi-type-deprecated.json
325
+ - spec/spec_tests/data/corpus/README.md
343
326
  - spec/spec_tests/data/corpus/dbpointer.json
327
+ - spec/spec_tests/data/corpus/decimal128-4.json
328
+ - spec/spec_tests/data/corpus/undefined.json
329
+ - spec/spec_tests/data/corpus/decimal128-6.json
330
+ - spec/spec_tests/data/corpus/dbref.json
331
+ - spec/spec_tests/data/corpus/binary.json
332
+ - spec/spec_tests/data/corpus/minkey.json
333
+ - spec/spec_tests/data/corpus/decimal128-2.json
334
+ - spec/spec_tests/data/corpus/maxkey.json
335
+ - spec/spec_tests/data/corpus/int32.json
336
+ - spec/spec_tests/data/corpus/timestamp.json
337
+ - spec/spec_tests/data/corpus/top.json
338
+ - spec/spec_tests/data/corpus/string.json
344
339
  - spec/spec_tests/data/corpus/double.json
345
- - spec/spec_tests/data/corpus/multi-type-deprecated.json
346
- - spec/spec_tests/data/corpus/document.json
347
- - spec/spec_tests/data/corpus/datetime.json
340
+ - spec/spec_tests/data/decimal128/decimal128-1.json
341
+ - spec/spec_tests/data/decimal128/decimal128-7.json
342
+ - spec/spec_tests/data/decimal128/decimal128-3.json
343
+ - spec/spec_tests/data/decimal128/decimal128-5.json
344
+ - spec/spec_tests/data/decimal128/decimal128-4.json
345
+ - spec/spec_tests/data/decimal128/decimal128-6.json
346
+ - spec/spec_tests/data/decimal128/decimal128-2.json
347
+ - spec/spec_tests/corpus_legacy_spec.rb
348
+ - spec/spec_tests/corpus_spec.rb
348
349
  - spec/spec_tests/common_driver_spec.rb
350
+ - spec/bson_spec.rb
349
351
  - spec/spec_helper.rb
350
- - spec/runners/corpus_legacy.rb
351
- - spec/runners/common_driver.rb
352
- - spec/runners/corpus.rb
metadata.gz.sig CHANGED
@@ -1,2 +1,3 @@
1
- [Fq+�4Clꭨ�eѨ^�*!�.|���Ք������y^�p-�Õ%[K��i�FuZ�� 3@�� g��s��8��q��P������(��#�U�,�Q��n���/D����t�ڹA��H
2
- E���{`�rV7d���V)~�%��7Csx�x�[!ʄțըJƾ<<G[�܃�Z5��U(p]0I���ږ�>�~�<-.�M;ж��!��V���v�4iBwCK�c�GhӼ�nB����
1
+ �rVju��)[J��Rcv�
2
+ R6h���0(�<J�6��vH��7~�������¨'�&iNO@+߸�w����:���<�C3�: P{�ӊ�h _�}�n�.y�UʏE�b8�qʥ��c���=�^�\1,��#ZCoq�A������-�QDRP�Ɏ�5�OQ��g���
3
+ ߏ����{��� ����@�����