Module: Mochilo
- Extended by:
- Mochilo
- Included in:
- Mochilo
- Defined in:
- lib/mochilo.rb,
lib/mochilo/version.rb,
ext/mochilo/mochilo.rb.c
Defined Under Namespace
Classes: Error, PackError, UnpackError
Constant Summary collapse
- VERSION =
"1.3.0"
Instance Method Summary collapse
-
#pack(rb_obj) ⇒ Object
(also: #encode, #dump)
call-seq: Mochilo.pack(obj) -> String.
-
#pack_unsafe(rb_obj) ⇒ Object
call-seq: Mochilo.pack_unsafe(obj) -> String.
-
#unpack(rb_buffer) ⇒ Object
(also: #decode, #load)
call-seq: Mochilo.unpack(banana_pack_str) -> Object.
-
#unpack_unsafe(rb_buffer) ⇒ Object
call-seq: Mochilo.unpack_unsafe(banana_pack_str) -> Object.
Instance Method Details
#pack(rb_obj) ⇒ Object Also known as: encode, dump
call-seq:
Mochilo.pack(obj) -> String
Packs a Ruby object into BananaPack format.
80 81 82 83 84 85 86 87 |
# File 'ext/mochilo/mochilo.rb.c', line 80
static VALUE rb_mochilo_pack(VALUE self, VALUE rb_obj)
{
mochilo_buf buf;
mochilo_buf_init(&buf);
mochilo_pack_one(&buf, rb_obj, 0);
return mochilo_buf_flush(&buf);
}
|
#pack_unsafe(rb_obj) ⇒ Object
call-seq:
Mochilo.pack_unsafe(obj) -> String
Packs a Ruby object into BananaPack format, in unsafe mode. This enables the Symbol type durring serialization and will have to be deserialized in unsafe mode as well.
98 99 100 101 102 103 104 105 |
# File 'ext/mochilo/mochilo.rb.c', line 98
static VALUE rb_mochilo_pack_unsafe(VALUE self, VALUE rb_obj)
{
mochilo_buf buf;
mochilo_buf_init(&buf);
mochilo_pack_one(&buf, rb_obj, 1);
return mochilo_buf_flush(&buf);
}
|
#unpack(rb_buffer) ⇒ Object Also known as: decode, load
call-seq:
Mochilo.unpack(banana_pack_str) -> Object
Unpacks a BananaPack stream into a Ruby object.
54 55 56 57 |
# File 'ext/mochilo/mochilo.rb.c', line 54
static VALUE rb_mochilo_unpack(VALUE self, VALUE rb_buffer)
{
return rb_mochilo__unpack(rb_buffer, 0);
}
|
#unpack_unsafe(rb_buffer) ⇒ Object
call-seq:
Mochilo.unpack_unsafe(banana_pack_str) -> Object
Unpacks a BananaPack stream into a Ruby object, in unsafe mode. Only use this function if banana_pack_str is trusted; otherwise symbol DoS attacks are possible.
68 69 70 71 |
# File 'ext/mochilo/mochilo.rb.c', line 68
static VALUE rb_mochilo_unpack_unsafe(VALUE self, VALUE rb_buffer)
{
return rb_mochilo__unpack(rb_buffer, 1);
}
|