Class: ActiveCypher::Bolt::Packstream::Unpacker
- Inherits:
-
Object
- Object
- ActiveCypher::Bolt::Packstream::Unpacker
- Defined in:
- lib/active_cypher/bolt/packstream.rb
Overview
Unpacks Packstream byte format into Ruby objects.
Constant Summary collapse
- NULL =
Marker Bytes
0xC0- FALSEY =
0xC2- TRUETHY =
0xC3- INT_8 =
0xC8- INT_16 =
0xC9- INT_32 =
0xCA- INT_64 =
0xCB- FLOAT_64 =
Added Float marker
0xC1- TINY_STRING_MARKER_BASE =
0x80- STRING_8_MARKER =
0xD0- STRING_16_MARKER =
0xD1- STRING_32_MARKER =
0xD2- TINY_LIST_MARKER_BASE =
0x90- LIST_8_MARKER =
0xD4- LIST_16_MARKER =
0xD5- LIST_32_MARKER =
0xD6- TINY_MAP_MARKER_BASE =
0xA0- MAP_8_MARKER =
0xD8- MAP_16_MARKER =
0xD9- MAP_32_MARKER =
0xDA- TINY_STRUCT_MARKER_BASE =
0xB0- STRUCT_8_MARKER =
0xDC- STRUCT_16_MARKER =
0xDD- STRUCT_32_MARKER =
0xDE- MARKER_HIGH_NIBBLE_MASK =
0xF0- MARKER_LOW_NIBBLE_MASK =
0x0F
Instance Method Summary collapse
-
#initialize(io) ⇒ Unpacker
constructor
A new instance of Unpacker.
-
#unpack ⇒ Object
Unpacks the next value from the stream.
Constructor Details
#initialize(io) ⇒ Unpacker
Returns a new instance of Unpacker.
191 192 193 |
# File 'lib/active_cypher/bolt/packstream.rb', line 191 def initialize(io) @io = io end |
Instance Method Details
#unpack ⇒ Object
Unpacks the next value from the stream.
196 197 198 199 |
# File 'lib/active_cypher/bolt/packstream.rb', line 196 def unpack marker = read_byte unpack_value(marker) end |