bson 4.12.0-java → 4.12.1-java

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: 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��