thirty-thirty
the right hand of Marshall BraveStarr
Selectively marshal objects without the fancy ruby 1.9 marshalling:
class Marshalled
extend Thirtythirty
marshalled_accessor :attr1, :attr2
attr_accessor :transient_attr
end
original = Marshalled.new
original.attr1 = "value1"
original.transient_attr = "non-marshalled"
marshalled = Marshal.dump(original)
reloaded = Marshal.load(marshalled)
reloaded.attr1 # => "value1"
reloaded.transient_attr # => nil
Note: Custom marshalling will only be activated by calling one of the marshalling methods (marshal, marshalled_reader, marshalled_writer, marshalled_accessor), not by extending Thirtythirty alone.