Hi,
Suppose (for reasons best known to myself) I had the following code:

require 'yaml'

class Squarer
	attr_reader :num, :num_squared

	def initialize(num)
		@num = num
		@num_squared = num * num
	end

	def to_yaml_properties
		# no need to store both num and num_squared...
		%w{ @num }
	end
end

s = Squarer.new(42)
yaml_s = YAML.dump(s)

new_s = YAML.load(yaml_s)
puts "new_s.num = #{new_s.num}"
puts "new_s.num_squared = #{new_s.num_squared}"


Is there any way I can hook up a bit of fixup code to set @num_squared 
appropriately after deserializing from YAML? If I were using Marshal, 
I'd just override the marshal_load method - what (if anything) is the 
YAML equivalent?

- Matthew