class Paquito::SingleBytePrefixVersion
Public Class Methods
new(current_version, coders)
click to toggle source
# File lib/paquito/single_byte_prefix_version.rb, line 5 def initialize(current_version, coders) @current_version = current_version @coders = coders.transform_values { |c| Paquito.cast(c) } @current_coder = coders.fetch(current_version) end
Public Instance Methods
dump(object)
click to toggle source
# File lib/paquito/single_byte_prefix_version.rb, line 11 def dump(object) @current_version.chr(Encoding::BINARY) << @current_coder.dump(object) end
load(payload)
click to toggle source
# File lib/paquito/single_byte_prefix_version.rb, line 15 def load(payload) payload_version = payload.getbyte(0) unless payload_version raise UnsupportedCodec, "Missing version byte." end coder = @coders.fetch(payload_version) do raise UnsupportedCodec, "Unsupported packer version #{payload_version}" end coder.load(payload.byteslice(1..-1)) end