I'm trying to use ruby's yaml library to serialise and deserialise some legacy classes. Simply adding a to_yaml_properties() method isn't sufficient as special methods need to be called to get and set the properties (they're not stored simply in instance variables that I can access), and I don't want to change the class any more than I have to. Can anyone offer any pointers on how to get some custom code executed when an instance of such a class is serialised and deserialised? What I'd like to do is, when I call YAML.dump(), and it sees an instance of the legacy class, to convert it into some data structure and dump that, and do the reverse on YAML.load(). I'm guessing I can do part of this with the to_yaml() function, but I haven't been able to find an adequate reference anywhere. I'd really appreciate any help anyone could give me. Thanks.
on 2006-01-12 05:07