class Cborb::Decoding::Types::Map
To represent major type: 5(definite-length)
Constants
- Intermediate
Public Class Methods
accept(im_data, type, value)
click to toggle source
# File lib/cborb/decoding/types/map.rb, line 20 def self.accept(im_data, type, value) im_data.keys_and_values << value if im_data.keys_and_values.size == im_data.size Hash[*im_data.keys_and_values] else Cborb::Decoding::State::CONTINUE end end
decode(state, additional_info)
click to toggle source
# File lib/cborb/decoding/types/map.rb, line 10 def self.decode(state, additional_info) size = consume_as_integer(state, additional_info) * 2 if size > 0 state.push_stack(self, Intermediate.new(size, [])) else state.accept_value(self, {}) end end