bson 4.3.0.beta-java → 4.3.0-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
  SHA1:
3
- metadata.gz: 6468d11868cf8ba4f947d6f2b6d0405762b22cd3
4
- data.tar.gz: 88de4d6bc5e84d4b69a9b2899eaa467b1f18fbf8
3
+ metadata.gz: e4db29f7f4d8980b8014e4682d1d5e983049ed64
4
+ data.tar.gz: ff3704ebf4dcf34ff0d1f1f28593d4246bc13711
5
5
  SHA512:
6
- metadata.gz: 0eaba01e1207c6fc15100a18ba1cd88a67ac976af7d65261d7cc219932dbedede2541a41def203ba3b4153c3acf87c5d51bf0b779fa9372e64743753c231b594
7
- data.tar.gz: c29071d4429eb583e57620481eca61efda789dbcd19723fc1bbde761c9bc6b747fe5421aebfa7174e9db7ca231e572f514820c27d7d958af4b79a4a830ee1b5b
6
+ metadata.gz: a12b26ecfaa22dc2d7bd753e15b3fc6e795743ba6dbff8e8f8771dcf47d5f5d7172c2a08e802ec390fd670bd85a0c450b8713bfc74a2322eac88d7413189d1c3
7
+ data.tar.gz: 6cd5df5fdab491856c246a3c4d7bb69739361c82c3485b783bb33184bb224f561ba9d5f5ec01bf895db51b31c26d425c5d51606a9b9907e67a6f6f2015e41341
Binary file
data.tar.gz.sig CHANGED
Binary file
Binary file
@@ -64,7 +64,7 @@ module BSON
64
64
  #
65
65
  # @note This is used for repairing legacy bson data.
66
66
  #
67
- # @raise [ InvalidObjectId ] If the array is not 12 elements.
67
+ # @raise [ BSON::ObjectId::Invalid ] If the array is not 12 elements.
68
68
  #
69
69
  # @return [ String ] The raw object id bytes.
70
70
  #
@@ -172,6 +172,26 @@ module BSON
172
172
 
173
173
  alias :update :merge!
174
174
 
175
+ if instance_methods.include?(:dig)
176
+ # Retrieves the value object corresponding to the each key objects repeatedly.
177
+ # Will normalize symbol keys into strings.
178
+ #
179
+ # @example Get value from nested sub-documents, handling missing levels.
180
+ # document # => { :key1 => { "key2" => "value"}}
181
+ # document.dig(:key1, :key2) # => "value"
182
+ # document.dig("key1", "key2") # => "value"
183
+ # document.dig("foo", "key2") # => nil
184
+ #
185
+ # @param [ Array<String, Symbol> ] *keys Keys, which constitute a "path" to the nested value.
186
+ #
187
+ # @return [ Object, NilClass ] The requested value or nil.
188
+ #
189
+ # @since 3.0.0
190
+ def dig(*keys)
191
+ super(*keys.map{|key| convert_key(key)})
192
+ end
193
+ end
194
+
175
195
  private
176
196
 
177
197
  def convert_key(key)
@@ -79,7 +79,7 @@ module BSON
79
79
  #
80
80
  # @note This is used for repairing legacy bson data.
81
81
  #
82
- # @raise [ InvalidObjectId ] If the string is not 12 elements.
82
+ # @raise [ BSON::ObjectId::Invalid ] If the string is not 12 elements.
83
83
  #
84
84
  # @return [ String ] The raw object id bytes.
85
85
  #
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
 
15
15
  module BSON
16
- VERSION = "4.3.0.beta".freeze
16
+ VERSION = "4.3.0".freeze
17
17
  end
@@ -96,6 +96,28 @@ describe BSON::Document do
96
96
  end
97
97
  end
98
98
 
99
+ if described_class.instance_methods.include?(:dig)
100
+ describe "#dig" do
101
+ let(:document) do
102
+ described_class.new("key1" => { :key2 => "value" })
103
+ end
104
+
105
+ context "when provided string keys" do
106
+
107
+ it "returns the value" do
108
+ expect(document.dig("key1", "key2")).to eq("value")
109
+ end
110
+ end
111
+
112
+ context "when provided symbol keys" do
113
+
114
+ it "returns the value" do
115
+ expect(document.dig(:key1, :key2)).to eq("value")
116
+ end
117
+ end
118
+ end
119
+ end
120
+
99
121
  describe "#delete" do
100
122
 
101
123
  shared_examples_for "a document with deletable pairs" do
@@ -766,7 +788,7 @@ describe BSON::Document do
766
788
  "#{35.to_bson}"+
767
789
  "#{BSON::Document::BSON_TYPE}0#{BSON::NULL_BYTE}#{12.to_bson}#{BSON::Int32::BSON_TYPE}a#{BSON::NULL_BYTE}#{1.to_bson}#{BSON::NULL_BYTE}" +
768
790
  "#{BSON::Document::BSON_TYPE}1#{BSON::NULL_BYTE}#{12.to_bson}#{BSON::Int32::BSON_TYPE}b#{BSON::NULL_BYTE}#{2.to_bson}#{BSON::NULL_BYTE}" +
769
- "#{BSON::NULL_BYTE}" +
791
+ "#{BSON::NULL_BYTE}" +
770
792
  "#{BSON::NULL_BYTE}"
771
793
  end
772
794
 
@@ -24,7 +24,6 @@ require "bson"
24
24
  require "json"
25
25
  require "rspec"
26
26
  require "yaml"
27
- require "pry-nav"
28
27
 
29
28
  Dir["./spec/support/**/*.rb"].each { |file| require file }
30
29
 
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.3.0.beta
4
+ version: 4.3.0
5
5
  platform: java
6
6
  authors:
7
7
  - Tyler Brock
@@ -34,7 +34,7 @@ cert_chain:
34
34
  UgLdYyyGANc+TOKLFmx0eAJlCljAurbX7ctO2XI0f1AUdEYSqGzut+datXK/9nwQ
35
35
  FACf8zd11PEds/Opai2Qp4aOBgaxXhhFG357umy1vRs=
36
36
  -----END CERTIFICATE-----
37
- date: 2017-09-20 00:00:00.000000000 Z
37
+ date: 2018-01-17 00:00:00.000000000 Z
38
38
  dependencies: []
39
39
  description: A full featured BSON specification implementation, in Ruby
40
40
  email:
@@ -86,7 +86,6 @@ files:
86
86
  - lib/bson/true_class.rb
87
87
  - lib/bson/undefined.rb
88
88
  - lib/bson/version.rb
89
- - lib/bson_native.bundle
90
89
  - spec/bson/array_spec.rb
91
90
  - spec/bson/binary_spec.rb
92
91
  - spec/bson/boolean_spec.rb
@@ -180,71 +179,71 @@ signing_key:
180
179
  specification_version: 4
181
180
  summary: Ruby Implementation of the BSON specification
182
181
  test_files:
183
- - spec/bson_spec.rb
184
182
  - spec/spec_helper.rb
185
- - spec/bson/array_spec.rb
186
- - spec/bson/binary_spec.rb
187
- - spec/bson/boolean_spec.rb
188
- - spec/bson/byte_buffer_spec.rb
183
+ - spec/bson_spec.rb
184
+ - spec/bson/regexp_spec.rb
185
+ - spec/bson/min_key_spec.rb
186
+ - spec/bson/time_spec.rb
187
+ - spec/bson/int32_spec.rb
189
188
  - spec/bson/code_spec.rb
190
- - spec/bson/code_with_scope_spec.rb
191
189
  - spec/bson/config_spec.rb
190
+ - spec/bson/undefined_spec.rb
192
191
  - spec/bson/corpus_spec.rb
192
+ - spec/bson/boolean_spec.rb
193
+ - spec/bson/object_spec.rb
194
+ - spec/bson/array_spec.rb
195
+ - spec/bson/hash_spec.rb
193
196
  - spec/bson/date_spec.rb
197
+ - spec/bson/json_spec.rb
198
+ - spec/bson/int64_spec.rb
199
+ - spec/bson/registry_spec.rb
200
+ - spec/bson/raw_spec.rb
201
+ - spec/bson/binary_spec.rb
202
+ - spec/bson/max_key_spec.rb
203
+ - spec/bson/code_with_scope_spec.rb
194
204
  - spec/bson/date_time_spec.rb
195
- - spec/bson/decimal128_spec.rb
196
- - spec/bson/document_spec.rb
197
205
  - spec/bson/driver_bson_spec.rb
198
206
  - spec/bson/false_class_spec.rb
199
- - spec/bson/float_spec.rb
200
- - spec/bson/hash_spec.rb
201
- - spec/bson/int32_spec.rb
202
- - spec/bson/int64_spec.rb
203
- - spec/bson/integer_spec.rb
204
- - spec/bson/json_spec.rb
205
- - spec/bson/max_key_spec.rb
206
- - spec/bson/min_key_spec.rb
207
- - spec/bson/nil_class_spec.rb
208
- - spec/bson/object_id_spec.rb
209
- - spec/bson/object_spec.rb
210
- - spec/bson/open_struct_spec.rb
211
- - spec/bson/raw_spec.rb
212
- - spec/bson/regexp_spec.rb
213
- - spec/bson/registry_spec.rb
207
+ - spec/bson/byte_buffer_spec.rb
214
208
  - spec/bson/string_spec.rb
215
- - spec/bson/symbol_spec.rb
216
- - spec/bson/time_spec.rb
209
+ - spec/bson/open_struct_spec.rb
217
210
  - spec/bson/timestamp_spec.rb
211
+ - spec/bson/symbol_spec.rb
212
+ - spec/bson/decimal128_spec.rb
213
+ - spec/bson/integer_spec.rb
214
+ - spec/bson/document_spec.rb
215
+ - spec/bson/float_spec.rb
216
+ - spec/bson/nil_class_spec.rb
218
217
  - spec/bson/true_class_spec.rb
219
- - spec/bson/undefined_spec.rb
220
- - spec/support/common_driver.rb
218
+ - spec/bson/object_id_spec.rb
221
219
  - spec/support/corpus.rb
222
220
  - spec/support/shared_examples.rb
223
- - spec/support/corpus-tests/array.json
221
+ - spec/support/common_driver.rb
222
+ - spec/support/corpus-tests/maxkey.json
224
223
  - spec/support/corpus-tests/boolean.json
224
+ - spec/support/corpus-tests/oid.json
225
225
  - spec/support/corpus-tests/code.json
226
+ - spec/support/corpus-tests/array.json
227
+ - spec/support/corpus-tests/double.json
226
228
  - spec/support/corpus-tests/code_w_scope.json
229
+ - spec/support/corpus-tests/string.json
227
230
  - spec/support/corpus-tests/document.json
228
- - spec/support/corpus-tests/double.json
231
+ - spec/support/corpus-tests/top.json
232
+ - spec/support/corpus-tests/null.json
229
233
  - spec/support/corpus-tests/int32.json
230
- - spec/support/corpus-tests/maxkey.json
234
+ - spec/support/corpus-tests/timestamp.json
231
235
  - spec/support/corpus-tests/minkey.json
232
- - spec/support/corpus-tests/null.json
233
- - spec/support/corpus-tests/oid.json
234
236
  - spec/support/corpus-tests/regex.json
235
- - spec/support/corpus-tests/string.json
236
- - spec/support/corpus-tests/timestamp.json
237
- - spec/support/corpus-tests/top.json
238
- - spec/support/corpus-tests/failures/binary.json
239
237
  - spec/support/corpus-tests/failures/datetime.json
240
- - spec/support/corpus-tests/failures/dbpointer.json
241
- - spec/support/corpus-tests/failures/int64.json
242
238
  - spec/support/corpus-tests/failures/symbol.json
239
+ - spec/support/corpus-tests/failures/int64.json
240
+ - spec/support/corpus-tests/failures/dbpointer.json
243
241
  - spec/support/corpus-tests/failures/undefined.json
242
+ - spec/support/corpus-tests/failures/binary.json
244
243
  - spec/support/driver-spec-tests/decimal128/decimal128-1.json
245
- - spec/support/driver-spec-tests/decimal128/decimal128-2.json
246
- - spec/support/driver-spec-tests/decimal128/decimal128-3.json
247
- - spec/support/driver-spec-tests/decimal128/decimal128-4.json
248
- - spec/support/driver-spec-tests/decimal128/decimal128-5.json
249
- - spec/support/driver-spec-tests/decimal128/decimal128-6.json
250
244
  - spec/support/driver-spec-tests/decimal128/decimal128-7.json
245
+ - spec/support/driver-spec-tests/decimal128/decimal128-6.json
246
+ - spec/support/driver-spec-tests/decimal128/decimal128-5.json
247
+ - spec/support/driver-spec-tests/decimal128/decimal128-4.json
248
+ - spec/support/driver-spec-tests/decimal128/decimal128-3.json
249
+ - spec/support/driver-spec-tests/decimal128/decimal128-2.json
metadata.gz.sig CHANGED
Binary file
Binary file