Project

nfreeze

0.0
No release in over 3 years
Low commit activity in last 3 years
Adds two methods, thaw and nfreeze, into Marshal module, so that your program can understand Perl-generated nfreeze strings.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 0
>= 0
>= 0
>= 0
 Project Readme

nfreeze: a Ruby translation of p5-Storable

This is a very limited version of Storable of perl 5, written in Ruby.

Needs of this library

I happen to encounter a Memcached cluster whose main users are Perl programs.

Perl's memcache client use Storable to serialize/deserialize structures so the cluser is full of strings in that format.

In order to smoothly migrate into Ruby I have to use that cluster as-is. My program had to understand that thing. So this library.

How to use

This library adds 2 methods, nfreeze and thaw, to Marshal. nfreeze is much like Marshal.dump, while thaw is like Marshal.load; the format is different form Ruby's though.

Limitations

  • Not every strings that Perl generats can be understood by us.
    • For instance we theoretically cant deserialize a Perl OOP class.
    • Perl strings that are not network portable are also not supported.
  • Poorly tested.
    • You need a working perl to test this library and that's a pain for me. I have relatively few motivation to test this.
  • Slow. It is in pure-Ruby.