class Transit::Marshaler::MessagePack

Public Class Methods

new(io, opts) click to toggle source
# File lib/transit/marshaler/cruby/messagepack.rb, line 22
def initialize(io, opts)
  @io = io
  @packer = ::MessagePack::Packer.new(io)
  @max_int = MAX_INT
  @min_int = MIN_INT
  @prefer_strings = false
  parse_options(opts)
end

Public Instance Methods

emit_array_end() click to toggle source
# File lib/transit/marshaler/cruby/messagepack.rb, line 35
def emit_array_end
  # no-op
end
emit_array_start(size) click to toggle source
# File lib/transit/marshaler/cruby/messagepack.rb, line 31
def emit_array_start(size)
  @packer.write_array_header(size)
end
emit_int(tag, i, as_map_key, cache) click to toggle source
# File lib/transit/marshaler/cruby/messagepack.rb, line 47
def emit_int(tag, i, as_map_key, cache)
  if i > @max_int || i < @min_int
    emit_string(ESC, tag, i, as_map_key, cache)
  else
    emit_value(i, as_map_key)
  end
end
emit_map_end() click to toggle source
# File lib/transit/marshaler/cruby/messagepack.rb, line 43
def emit_map_end
  # no-op
end
emit_map_start(size) click to toggle source
# File lib/transit/marshaler/cruby/messagepack.rb, line 39
def emit_map_start(size)
  @packer.write_map_header(size)
end
emit_value(obj, as_map_key=:ignore) click to toggle source
# File lib/transit/marshaler/cruby/messagepack.rb, line 55
def emit_value(obj, as_map_key=:ignore)
  @packer.write(obj)
end
flush() click to toggle source
# File lib/transit/marshaler/cruby/messagepack.rb, line 59
def flush
  @packer.flush
  @io.flush
end