Module: FFI::MsgPack

Extended by:
Library
Defined in:
lib/ffi/msgpack/zone.rb,
lib/ffi/msgpack/types.rb,
lib/ffi/msgpack/packer.rb,
lib/ffi/msgpack/msg_map.rb,
lib/ffi/msgpack/msg_raw.rb,
lib/ffi/msgpack/msgpack.rb,
lib/ffi/msgpack/packable.rb,
lib/ffi/msgpack/unpacker.rb,
lib/ffi/msgpack/msg_array.rb,
lib/ffi/msgpack/msg_object.rb,
lib/ffi/msgpack/msg_key_value.rb,
lib/ffi/msgpack/zone_finalizer.rb,
lib/ffi/msgpack/zone_chunk_list.rb,
lib/ffi/msgpack/msg_object_union.rb,
lib/ffi/msgpack/zone_finalizer_array.rb,
lib/ffi/msgpack/exceptions/parse_error.rb

Defined Under Namespace

Modules: Packable Classes: MsgArray, MsgKeyValue, MsgMap, MsgObject, MsgObjectUnion, MsgRaw, Packer, ParseError, Unpacker, Zone, ZoneChunkList, ZoneFinalizer, ZoneFinalizerArray

Class Method Summary collapse

Class Method Details

.pack(*objs) ⇒ String

Packs a Ruby object.

Parameters:

Returns:

  • (String)

    The packed Ruby object.



125
126
127
128
129
130
131
# File 'lib/ffi/msgpack/msgpack.rb', line 125

def MsgPack.pack(*objs)
  packer = Packer.create

  objs.each { |obj| packer << obj }

  return packer.to_s
end

.unpack(packed) ⇒ Hash, ...

Unpacks a packed object.

Parameters:

  • packed (String)

    The packed object.

Returns:



142
143
144
145
146
147
# File 'lib/ffi/msgpack/msgpack.rb', line 142

def MsgPack.unpack(packed)
  unpacker = Unpacker.create(packed.length)
  unpacker << packed

  return unpacker.first
end

.versionGem::Version?

The version of libmsgpack.

Returns:

  • (Gem::Version, nil)

    The version of libmsgpack. nil will be returned if the version of libmsgpack is <= 0.5.1.

Since:

  • 0.1.4



29
30
31
32
33
# File 'lib/ffi/msgpack/msgpack.rb', line 29

def MsgPack.version
  if MsgPack.respond_to?(:msgpack_version)
    @version ||= Gem::Version.new(MsgPack.msgpack_version)
  end
end