cborb 0.2.0 → 0.3.0

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: a9c9b7dc8ac55b507646d2a26a8b797854d62dbca6a0ebb281617ac7be3abe9c
4
- data.tar.gz: a09f26e86e196f1b7e8151f52b22a74decbe8406c126d4fcd6bbd73b45b3ca2a
3
+ metadata.gz: 3b3a999398bda95d1d6ae22d0cc3bcbfbf203a33fed8c4275979e58b0b61fdb7
4
+ data.tar.gz: 1df6e0f0d61e76a2a1f5a2e9500fa51928ea956e01a7c581a8f8a5c1b8599a99
5
5
  SHA512:
6
- metadata.gz: ffbad4c40f8e10c3b769e4e832125b364e85e4ffac6d827a9337129e61b88f65d81ca12839028c5d19cc6e42ad0172b491c912d2aa5aefdfab0ea24b8b84c919
7
- data.tar.gz: c59156aa20df82792c3d67f3080e032193f668542fb4571687b62181012b20f240ae9099a6555a7bdac792b4287fbea149c9575764101f3e96b9173e9d0b5f15
6
+ metadata.gz: c93711e9c4535bdd7396364376c4636d4cbbacf23ef70d4f35a3bc03e70a7fcd19b2a745c24b4cd50aeccf7a61a1e0126d692e4bbe5c8b7fad9b7281ab87d6b8
7
+ data.tar.gz: e3f002cd2e23f564592fa43beb8ce5440a581f04307e8bad9ee27cbed8c859ba32891d0380234621e1d5eb83f60dbd8e6a55cce8ac3d8e12ae14e38f771df683
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cborb (0.2.0)
4
+ cborb (0.3.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -280,3 +280,13 @@ end
280
280
  generate "013" do |out|
281
281
  out << "\xBB\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"
282
282
  end
283
+
284
+ # empty map
285
+ generate "014" do |out|
286
+ out << "\xA0"
287
+ end
288
+
289
+ # empty array
290
+ generate "015" do |out|
291
+ out << "\x80"
292
+ end
@@ -8,8 +8,13 @@ module Cborb::Decoding::Types
8
8
  Intermediate = Struct.new(:size, :array)
9
9
 
10
10
  def self.decode(state, additional_info)
11
- im = Intermediate.new(consume_as_integer(state, additional_info), [])
12
- state.push_stack(self, im)
11
+ size = consume_as_integer(state, additional_info)
12
+
13
+ if size > 0
14
+ state.push_stack(self, Intermediate.new(size, []))
15
+ else
16
+ state.accept_value(self, [])
17
+ end
13
18
  end
14
19
 
15
20
  def self.accept(im_data, type, value)
@@ -8,8 +8,13 @@ module Cborb::Decoding::Types
8
8
  Intermediate = Struct.new(:size, :keys_and_values)
9
9
 
10
10
  def self.decode(state, additional_info)
11
- im_data = Intermediate.new(consume_as_integer(state, additional_info) * 2, [])
12
- state.push_stack(self, im_data)
11
+ size = consume_as_integer(state, additional_info) * 2
12
+
13
+ if size > 0
14
+ state.push_stack(self, Intermediate.new(size, []))
15
+ else
16
+ state.accept_value(self, {})
17
+ end
13
18
  end
14
19
 
15
20
  def self.accept(im_data, type, value)
@@ -1,3 +1,3 @@
1
1
  module Cborb
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cborb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - murakmii
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-01 00:00:00.000000000 Z
11
+ date: 2018-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler