bson 4.12.0-java → 4.12.1-java

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fdf6c4e223ffb2096c37888da541dfc5c1d93d0776f13411f48c1a5db88ccf20
4
- data.tar.gz: b2451c9140eaf9c2357db2f90c0890c3e81fe27dbe490d8c6e600f2c4926a779
3
+ metadata.gz: 72ec9fb3eada2a63cd5c657c6cb5d7bf2e2a2c48122c62775a83c3c8d5c003b4
4
+ data.tar.gz: 74891e98e279faea76e5e0adb625220e5b491d2d3b01d454a1df6e897e1d8085
5
5
  SHA512:
6
- metadata.gz: 16975daf3fa38ac33ab59cd9f19f9a4f5115bc1d7ee23170a8ba1ec3837352220d90e5f8352fb4df83b85d4258e9996bdb80e6b02276b93c1d455e77004b410a
7
- data.tar.gz: 91e3c157d966a356e52680ae3ff9bdf9df027bff02c59a44129b43c9359c220a0747b984316690d4fb3a2add8e54412bc90781e6eebd249f7dd48b757575ae90
6
+ metadata.gz: 645b30fd9a03d9bfb786090298b014818e7ed9b99f8bb0dbb3206c2ec6032126f8c5ee6cde49b02a8517a12d13142ae081e9d8933bdb632baf572a717995c748
7
+ data.tar.gz: ba274b84befce01e29600a24fca0ce62d12de87e5c33462991bf9403e64960a27bb69a5039618f64029b383bfb8d78c300d9b7cb61d358b139c281ba7a3bcab2
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/bson-ruby.jar CHANGED
Binary file
data/lib/bson/document.rb CHANGED
@@ -315,6 +315,10 @@ module BSON
315
315
  copy
316
316
  end
317
317
 
318
+ def symbolize_keys!
319
+ raise ArgumentError, 'symbolize_keys! is not supported on BSON::Document instances. Please convert the document to hash first (using #to_h), then call #symbolize_keys! on the Hash instance'
320
+ end
321
+
318
322
  private
319
323
 
320
324
  def convert_key(key)
data/lib/bson/version.rb CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
 
15
15
  module BSON
16
- VERSION = "4.12.0".freeze
16
+ VERSION = "4.12.1".freeze
17
17
  end
@@ -0,0 +1,46 @@
1
+ # Copyright (C) 2021 MongoDB Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require "spec_helper"
16
+
17
+ # BSON::Document ActiveSupport extensions
18
+ describe BSON::Document do
19
+ require_active_support
20
+
21
+ describe '#symbolize_keys' do
22
+ context 'string keys' do
23
+ let(:doc) do
24
+ described_class.new('foo' => 'bar')
25
+ end
26
+
27
+ it 'works correctly' do
28
+ doc.symbolize_keys.should == {foo: 'bar'}
29
+ end
30
+ end
31
+ end
32
+
33
+ describe '#symbolize_keys!' do
34
+ context 'string keys' do
35
+ let(:doc) do
36
+ described_class.new('foo' => 'bar')
37
+ end
38
+
39
+ it 'raises ArgumentError' do
40
+ lambda do
41
+ doc.symbolize_keys!
42
+ end.should raise_error(ArgumentError, /symbolize_keys! is not supported on BSON::Document instances/)
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,57 @@
1
+ # Copyright (C) 2021 MongoDB Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require "spec_helper"
16
+
17
+ describe 'Hash ActiveSupport extensions' do
18
+ require_active_support
19
+
20
+ describe '#symbolize_keys' do
21
+ let(:symbolized) { hash.symbolize_keys }
22
+
23
+ shared_examples 'works correctly' do
24
+ it 'returns a hash' do
25
+ symbolized.class.should be Hash
26
+ end
27
+
28
+ it 'works correctly' do
29
+ hash.symbolize_keys.should == {foo: 'bar'}
30
+ end
31
+ end
32
+
33
+ context 'string keys' do
34
+ let(:hash) do
35
+ {'foo' => 'bar'}
36
+ end
37
+
38
+ include_examples 'works correctly'
39
+ end
40
+
41
+ context 'symbol keys' do
42
+ let(:hash) do
43
+ {foo: 'bar'}
44
+ end
45
+
46
+ include_examples 'works correctly'
47
+ end
48
+
49
+ context 'both string and symbol keys' do
50
+ let(:hash) do
51
+ {'foo' => 42, foo: 'bar'}
52
+ end
53
+
54
+ include_examples 'works correctly'
55
+ end
56
+ end
57
+ end
data/spec/spec_helper.rb CHANGED
@@ -17,6 +17,7 @@ DRIVER_COMMON_BSON_TESTS = Dir.glob("#{CURRENT_PATH}/spec_tests/data/decimal128/
17
17
  BSON_CORPUS_TESTS = Dir.glob("#{CURRENT_PATH}/spec_tests/data/corpus/*.json").sort
18
18
  BSON_CORPUS_LEGACY_TESTS = Dir.glob("#{CURRENT_PATH}/spec_tests/data/corpus_legacy/*.json").sort
19
19
 
20
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "shared", "lib"))
20
21
  $LOAD_PATH.unshift(File.dirname(__FILE__))
21
22
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
22
23
 
@@ -40,6 +41,8 @@ unless ENV['CI'] || BSON::Environment.jruby?
40
41
  end
41
42
  end
42
43
 
44
+ require 'mrss/lite_constraints'
45
+
43
46
  Dir["./spec/support/**/*.rb"].each { |file| require file }
44
47
 
45
48
  # Alternate IO class that returns a String from #readbyte.
@@ -71,4 +74,6 @@ RSpec.configure do |config|
71
74
  end
72
75
  end
73
76
  end
77
+
78
+ config.extend Mrss::LiteConstraints
74
79
  end
@@ -94,8 +94,20 @@
94
94
  "string": "{\"x\" : { \"$uuid\" : { \"data\" : \"73ffd264-44b3-4c69-90e8-e7d1dfc035d4\"}}}"
95
95
  },
96
96
  {
97
- "description": "$uuid invalid value",
97
+ "description": "$uuid invalid value--too short",
98
98
  "string": "{\"x\" : { \"$uuid\" : \"73ffd264-44b3-90e8-e7d1dfc035d4\"}}"
99
+ },
100
+ {
101
+ "description": "$uuid invalid value--too long",
102
+ "string": "{\"x\" : { \"$uuid\" : \"73ffd264-44b3-4c69-90e8-e7d1dfc035d4-789e4\"}}"
103
+ },
104
+ {
105
+ "description": "$uuid invalid value--misplaced hyphens",
106
+ "string": "{\"x\" : { \"$uuid\" : \"73ff-d26444b-34c6-990e8e-7d1dfc035d4\"}}"
107
+ },
108
+ {
109
+ "description": "$uuid invalid value--too many hyphens",
110
+ "string": "{\"x\" : { \"$uuid\" : \"----d264-44b3-4--9-90e8-e7d1dfc0----\"}}"
99
111
  }
100
112
  ]
101
113
  }
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.0
4
+ version: 4.12.1
5
5
  platform: java
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-02-09 00:00:00.000000000 Z
36
+ date: 2021-05-28 00:00:00.000000000 Z
37
37
  dependencies: []
38
38
  description: A fully featured BSON specification implementation in Ruby
39
39
  email:
@@ -102,10 +102,12 @@ files:
102
102
  - spec/bson/date_spec.rb
103
103
  - spec/bson/date_time_spec.rb
104
104
  - spec/bson/decimal128_spec.rb
105
+ - spec/bson/document_as_spec.rb
105
106
  - spec/bson/document_spec.rb
106
107
  - spec/bson/ext_json_parse_spec.rb
107
108
  - spec/bson/false_class_spec.rb
108
109
  - spec/bson/float_spec.rb
110
+ - spec/bson/hash_as_spec.rb
109
111
  - spec/bson/hash_spec.rb
110
112
  - spec/bson/int32_spec.rb
111
113
  - spec/bson/int64_spec.rb
@@ -230,111 +232,113 @@ summary: Ruby implementation of the BSON specification
230
232
  test_files:
231
233
  - spec/spec_helper.rb
232
234
  - spec/bson_spec.rb
235
+ - spec/bson/true_class_spec.rb
236
+ - spec/bson/false_class_spec.rb
237
+ - spec/bson/object_spec.rb
238
+ - spec/bson/json_spec.rb
239
+ - spec/bson/undefined_spec.rb
240
+ - spec/bson/time_with_zone_spec.rb
241
+ - spec/bson/max_key_spec.rb
242
+ - spec/bson/float_spec.rb
243
+ - spec/bson/int32_spec.rb
244
+ - spec/bson/boolean_spec.rb
245
+ - spec/bson/int64_spec.rb
246
+ - spec/bson/min_key_spec.rb
247
+ - spec/bson/date_time_spec.rb
248
+ - spec/bson/date_spec.rb
249
+ - spec/bson/registry_spec.rb
250
+ - spec/bson/hash_as_spec.rb
251
+ - spec/bson/regexp_spec.rb
252
+ - spec/bson/timestamp_spec.rb
253
+ - spec/bson/decimal128_spec.rb
254
+ - spec/bson/binary_uuid_spec.rb
255
+ - spec/bson/binary_spec.rb
256
+ - spec/bson/document_as_spec.rb
257
+ - spec/bson/code_spec.rb
258
+ - spec/bson/array_spec.rb
259
+ - spec/bson/time_spec.rb
260
+ - spec/bson/raw_spec.rb
261
+ - spec/bson/string_spec.rb
262
+ - spec/bson/hash_spec.rb
263
+ - spec/bson/object_id_spec.rb
264
+ - spec/bson/ext_json_parse_spec.rb
265
+ - spec/bson/document_spec.rb
266
+ - spec/bson/symbol_spec.rb
267
+ - spec/bson/open_struct_spec.rb
268
+ - spec/bson/code_with_scope_spec.rb
269
+ - spec/bson/symbol_raw_spec.rb
270
+ - spec/bson/byte_buffer_write_spec.rb
271
+ - spec/bson/byte_buffer_spec.rb
272
+ - spec/bson/nil_class_spec.rb
273
+ - spec/bson/byte_buffer_read_spec.rb
274
+ - spec/bson/config_spec.rb
275
+ - spec/bson/integer_spec.rb
276
+ - spec/support/shared_examples.rb
277
+ - spec/support/utils.rb
278
+ - spec/support/spec_config.rb
233
279
  - spec/spec_tests/corpus_spec.rb
234
- - spec/spec_tests/common_driver_spec.rb
235
280
  - spec/spec_tests/corpus_legacy_spec.rb
236
- - spec/spec_tests/data/corpus/decimal128-7.json
237
- - spec/spec_tests/data/corpus/top.json
238
- - spec/spec_tests/data/corpus/array.json
239
- - spec/spec_tests/data/corpus/null.json
240
- - spec/spec_tests/data/corpus/document.json
241
- - spec/spec_tests/data/corpus/decimal128-2.json
242
- - spec/spec_tests/data/corpus/decimal128-6.json
243
- - spec/spec_tests/data/corpus/boolean.json
244
- - spec/spec_tests/data/corpus/README.md
245
- - spec/spec_tests/data/corpus/maxkey.json
246
- - spec/spec_tests/data/corpus/binary.json
247
- - spec/spec_tests/data/corpus/multi-type.json
248
- - spec/spec_tests/data/corpus/timestamp.json
249
- - spec/spec_tests/data/corpus/multi-type-deprecated.json
250
- - spec/spec_tests/data/corpus/dbpointer.json
251
- - spec/spec_tests/data/corpus/oid.json
252
- - spec/spec_tests/data/corpus/regex.json
253
- - spec/spec_tests/data/corpus/minkey.json
254
- - spec/spec_tests/data/corpus/symbol.json
255
- - spec/spec_tests/data/corpus/dbref.json
256
- - spec/spec_tests/data/corpus/decimal128-1.json
257
- - spec/spec_tests/data/corpus/undefined.json
258
- - spec/spec_tests/data/corpus/double.json
259
- - spec/spec_tests/data/corpus/decimal128-4.json
260
- - spec/spec_tests/data/corpus/decimal128-3.json
261
- - spec/spec_tests/data/corpus/decimal128-5.json
262
- - spec/spec_tests/data/corpus/int32.json
263
- - spec/spec_tests/data/corpus/string.json
264
- - spec/spec_tests/data/corpus/code.json
265
- - spec/spec_tests/data/corpus/code_w_scope.json
266
- - spec/spec_tests/data/corpus/int64.json
267
- - spec/spec_tests/data/corpus/datetime.json
281
+ - spec/spec_tests/common_driver_spec.rb
282
+ - spec/spec_tests/data/corpus_legacy/timestamp.json
268
283
  - spec/spec_tests/data/corpus_legacy/top.json
269
- - spec/spec_tests/data/corpus_legacy/array.json
270
- - spec/spec_tests/data/corpus_legacy/null.json
271
- - spec/spec_tests/data/corpus_legacy/document.json
272
- - spec/spec_tests/data/corpus_legacy/boolean.json
273
284
  - spec/spec_tests/data/corpus_legacy/maxkey.json
274
- - spec/spec_tests/data/corpus_legacy/binary.json
275
- - spec/spec_tests/data/corpus_legacy/timestamp.json
276
- - spec/spec_tests/data/corpus_legacy/oid.json
277
- - spec/spec_tests/data/corpus_legacy/regex.json
278
- - spec/spec_tests/data/corpus_legacy/minkey.json
279
285
  - spec/spec_tests/data/corpus_legacy/undefined.json
280
- - spec/spec_tests/data/corpus_legacy/double.json
286
+ - spec/spec_tests/data/corpus_legacy/array.json
281
287
  - spec/spec_tests/data/corpus_legacy/int32.json
288
+ - spec/spec_tests/data/corpus_legacy/oid.json
289
+ - spec/spec_tests/data/corpus_legacy/regex.json
290
+ - spec/spec_tests/data/corpus_legacy/binary.json
291
+ - spec/spec_tests/data/corpus_legacy/null.json
282
292
  - spec/spec_tests/data/corpus_legacy/string.json
293
+ - spec/spec_tests/data/corpus_legacy/document.json
294
+ - spec/spec_tests/data/corpus_legacy/minkey.json
295
+ - spec/spec_tests/data/corpus_legacy/boolean.json
283
296
  - spec/spec_tests/data/corpus_legacy/code.json
297
+ - spec/spec_tests/data/corpus_legacy/double.json
284
298
  - spec/spec_tests/data/corpus_legacy/code_w_scope.json
285
299
  - spec/spec_tests/data/corpus_legacy/failures/dbpointer.json
286
300
  - spec/spec_tests/data/corpus_legacy/failures/symbol.json
287
301
  - spec/spec_tests/data/corpus_legacy/failures/int64.json
288
302
  - spec/spec_tests/data/corpus_legacy/failures/datetime.json
289
- - spec/spec_tests/data/decimal128/decimal128-7.json
290
- - spec/spec_tests/data/decimal128/decimal128-2.json
303
+ - spec/spec_tests/data/decimal128/decimal128-4.json
291
304
  - spec/spec_tests/data/decimal128/decimal128-6.json
305
+ - spec/spec_tests/data/decimal128/decimal128-2.json
292
306
  - spec/spec_tests/data/decimal128/decimal128-1.json
293
- - spec/spec_tests/data/decimal128/decimal128-4.json
307
+ - spec/spec_tests/data/decimal128/decimal128-7.json
294
308
  - spec/spec_tests/data/decimal128/decimal128-3.json
295
309
  - spec/spec_tests/data/decimal128/decimal128-5.json
296
- - spec/support/utils.rb
297
- - spec/support/shared_examples.rb
298
- - spec/support/spec_config.rb
299
- - spec/runners/common_driver.rb
310
+ - spec/spec_tests/data/corpus/timestamp.json
311
+ - spec/spec_tests/data/corpus/top.json
312
+ - spec/spec_tests/data/corpus/maxkey.json
313
+ - spec/spec_tests/data/corpus/decimal128-4.json
314
+ - spec/spec_tests/data/corpus/dbpointer.json
315
+ - spec/spec_tests/data/corpus/undefined.json
316
+ - spec/spec_tests/data/corpus/array.json
317
+ - spec/spec_tests/data/corpus/decimal128-6.json
318
+ - spec/spec_tests/data/corpus/README.md
319
+ - spec/spec_tests/data/corpus/int32.json
320
+ - spec/spec_tests/data/corpus/oid.json
321
+ - spec/spec_tests/data/corpus/regex.json
322
+ - spec/spec_tests/data/corpus/binary.json
323
+ - spec/spec_tests/data/corpus/symbol.json
324
+ - spec/spec_tests/data/corpus/null.json
325
+ - spec/spec_tests/data/corpus/decimal128-2.json
326
+ - spec/spec_tests/data/corpus/string.json
327
+ - spec/spec_tests/data/corpus/document.json
328
+ - spec/spec_tests/data/corpus/dbref.json
329
+ - spec/spec_tests/data/corpus/decimal128-1.json
330
+ - spec/spec_tests/data/corpus/minkey.json
331
+ - spec/spec_tests/data/corpus/boolean.json
332
+ - spec/spec_tests/data/corpus/int64.json
333
+ - spec/spec_tests/data/corpus/code.json
334
+ - spec/spec_tests/data/corpus/decimal128-7.json
335
+ - spec/spec_tests/data/corpus/decimal128-3.json
336
+ - spec/spec_tests/data/corpus/decimal128-5.json
337
+ - spec/spec_tests/data/corpus/double.json
338
+ - spec/spec_tests/data/corpus/multi-type.json
339
+ - spec/spec_tests/data/corpus/multi-type-deprecated.json
340
+ - spec/spec_tests/data/corpus/datetime.json
341
+ - spec/spec_tests/data/corpus/code_w_scope.json
300
342
  - spec/runners/corpus_legacy.rb
301
343
  - spec/runners/corpus.rb
302
- - spec/bson/code_spec.rb
303
- - spec/bson/byte_buffer_read_spec.rb
304
- - spec/bson/int32_spec.rb
305
- - spec/bson/max_key_spec.rb
306
- - spec/bson/time_spec.rb
307
- - spec/bson/array_spec.rb
308
- - spec/bson/date_time_spec.rb
309
- - spec/bson/document_spec.rb
310
- - spec/bson/float_spec.rb
311
- - spec/bson/nil_class_spec.rb
312
- - spec/bson/time_with_zone_spec.rb
313
- - spec/bson/ext_json_parse_spec.rb
314
- - spec/bson/string_spec.rb
315
- - spec/bson/open_struct_spec.rb
316
- - spec/bson/config_spec.rb
317
- - spec/bson/false_class_spec.rb
318
- - spec/bson/raw_spec.rb
319
- - spec/bson/regexp_spec.rb
320
- - spec/bson/binary_spec.rb
321
- - spec/bson/object_spec.rb
322
- - spec/bson/decimal128_spec.rb
323
- - spec/bson/binary_uuid_spec.rb
324
- - spec/bson/boolean_spec.rb
325
- - spec/bson/byte_buffer_spec.rb
326
- - spec/bson/json_spec.rb
327
- - spec/bson/symbol_spec.rb
328
- - spec/bson/integer_spec.rb
329
- - spec/bson/byte_buffer_write_spec.rb
330
- - spec/bson/registry_spec.rb
331
- - spec/bson/code_with_scope_spec.rb
332
- - spec/bson/true_class_spec.rb
333
- - spec/bson/undefined_spec.rb
334
- - spec/bson/object_id_spec.rb
335
- - spec/bson/timestamp_spec.rb
336
- - spec/bson/hash_spec.rb
337
- - spec/bson/symbol_raw_spec.rb
338
- - spec/bson/min_key_spec.rb
339
- - spec/bson/int64_spec.rb
340
- - spec/bson/date_spec.rb
344
+ - spec/runners/common_driver.rb
metadata.gz.sig CHANGED
@@ -1,4 +1,3 @@
1
- ��(�D�f�!�Pi Œ���9/A�gV)5�k�8D���qC�����6����K���os;
2
- �ݔz�54����������h;�
3
- H����m��9�L��3�m�Mi�>R�@��g=��܄�0h-
4
- 2�:'�����=S��9<�c*�HG�)�8��� Wpvi��^RX�ΌP�z�+
1
+ ��Y�*�KV�µ�H�菰�Ƕ��-~0S���1?�eր�,����1���":�~A���i�������G8w4
2
+ <���}ޕiX�˓Cv�,z�> �E�&8�2��N��( ����uD�O P�� �Q1P4�z֍���N�w g�����2 ���t�ӌ}USjv���Z�2,H���ݰ)��Ÿy�=9�*�B
3
+ �k`ZȤ����?�b���>�U�ʯnU'���,���+oM�.w��g�W9k��\��.�5��