I notice how Rails makes heavy use of YAML serialization, but a lot of the 
Ruby literature I come across places emphasis on Marshal. One powerful 
technique with marshal is the marshal_dump and marshal_load hooks used to 
customize storing and retrieving object states. For example, let's say I 
have an object that can store as instance variables an arbitrary array of 
integers. And let's say I simply want to marshal that array rather than the 
whole object state, and then later retrieve that data and store it into an 
allocated but unitialized new instance of the object. Then the marshal_dump 
and marshal_load hooks come in handy:

class Point
  def initialize(*coords)
    @coords = coords
  end

  def marshal_dump
    @coords.pack("w*")
  end

  def marshal_load(s)
    @coords = s.unpack("w*")
  end
end

Is there a more effective way to achieve something like this in YAML that 
the Rails community prefers?

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-talk/-/GZdvmxERMyYJ.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to