Module: AsciiPack
- Defined in:
- lib/asciipack/version.rb,
ext/asciipack/init.c
Defined Under Namespace
Classes: Packer, Unpacker
Constant Summary
collapse
- VERSION =
"0.2.4"
Class Method Summary
collapse
Class Method Details
.pack ⇒ Object
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
|
# File 'ext/asciipack/packer.c', line 592
static VALUE
AsciiPack_pack (int argc, VALUE* argv)
{
VALUE str;
VALUE v = *argv;
VALUE self = Packer_alloc(cAsciiPack_Packer);
PACKER(self, ptr);
if (!ptr) {
rb_raise(rb_eArgError, "unallocated packer");
}
Packer_init(ptr);
Packer_write_value(ptr, v);
str = Packer_write_to_s(ptr);
Packer_write_clear(ptr);
return str;
}
|
.unpack ⇒ Object
320
321
322
323
324
325
326
327
328
|
# File 'ext/asciipack/unpacker.c', line 320
static VALUE
AsciiPack_unpack (int argc, VALUE *argv, VALUE self)
{
VALUE unpacker = rb_funcall(cAsciiPack_Unpacker, rb_intern("new"), 0);
rb_funcall(unpacker, rb_intern("feed"), 1, argv[0]);
VALUE res = rb_funcall(unpacker, rb_intern("read"), 0);
rb_funcall(unpacker, rb_intern("clear"), 0);
return res;
}
|