Oh... and your actual problem is that the HashReference object isn't
actually getting the to_yaml call - it's passing that through to the
wrapped object, which writes itself out in full. You'll need to add
to_yaml (or is it some other method? Check the YAML docs) to the methods
that aren't removed.

(instance_methods - ["__send__", "__id__","to_yaml"]).each {|m|
undef_method m}

> -----Original Message-----
> From: Daniel Sheppard 
> Sent: Tuesday, 20 December 2005 9:10 AM
> To: ruby-talk ML
> Subject: Re: Point an element in Hash Object
> 
> > This is ok... but i have a question.
> > If i dump the hash into a YAML file, then when i load it, the 
> > reference 
> > is lost and there are only copies of the same values.
> > 
> > How can I mantain that reference when I dump/load the YAML file?
> 
> 
> You can't serialize procs (well... you can, sort of, but it's best not
> to think about it).
> 
> So, you'll need to make a more specific Reference class:
> 
> class HashReference
> 	instance_methods.each {|m| undef_method m unless /__.*__/ === m}
> 	def initialize(hash, key)
> 		@hash = hash
> 		@key = key
> 	end
> 	def method_missing(*args, &block)
> 		@hash[@key].send(*args, &block)
> 	end
> end

#####################################################################################
This email has been scanned by MailMarshal, an email content filter.
#####################################################################################
#####################################################################################
This e-mail message has been scanned for Viruses and Content and cleared 
by NetIQ MailMarshal
#####################################################################################