Class: Transit::Marshaler::MessagePack

Inherits:
Object
  • Object
show all
Includes:
Base
Defined in:
lib/transit/marshaler/cruby/messagepack.rb

Instance Method Summary collapse

Methods included from Base

#emit_array, #emit_boolean, #emit_double, #emit_encoded, #emit_int, #emit_map, #emit_nil, #emit_string, #emit_tagged_value, #escape, #find_handler, #marshal, #marshal_top, #parse_options, #verbose_handlers

Constructor Details

#initialize(io, opts) ⇒ MessagePack

Returns a new instance of MessagePack.



28
29
30
31
32
# File 'lib/transit/marshaler/cruby/messagepack.rb', line 28

def initialize(io, opts)
  @io = io
  @packer = ::MessagePack::Packer.new(io)
  parse_options(default_opts.merge(opts))
end

Instance Method Details

#default_optsObject



22
23
24
25
26
# File 'lib/transit/marshaler/cruby/messagepack.rb', line 22

def default_opts
  {:prefer_strings => false,
    :max_int       => MAX_INT,
    :min_int       => MIN_INT}
end

#emit_array_endObject



38
39
40
# File 'lib/transit/marshaler/cruby/messagepack.rb', line 38

def emit_array_end
  # no-op
end

#emit_array_start(size) ⇒ Object



34
35
36
# File 'lib/transit/marshaler/cruby/messagepack.rb', line 34

def emit_array_start(size)
  @packer.write_array_header(size)
end

#emit_map_endObject



46
47
48
# File 'lib/transit/marshaler/cruby/messagepack.rb', line 46

def emit_map_end
  # no-op
end

#emit_map_start(size) ⇒ Object



42
43
44
# File 'lib/transit/marshaler/cruby/messagepack.rb', line 42

def emit_map_start(size)
  @packer.write_map_header(size)
end

#emit_value(obj, as_map_key = :ignore) ⇒ Object



50
51
52
# File 'lib/transit/marshaler/cruby/messagepack.rb', line 50

def emit_value(obj, as_map_key=:ignore)
  @packer.write(obj)
end

#flushObject



54
55
56
57
# File 'lib/transit/marshaler/cruby/messagepack.rb', line 54

def flush
  @packer.flush
  @io.flush
end