On Thu, 05 Jan 2006 16:09:39 -0000, Jim <narf968 / gmail.com> wrote: > $ ruby -v > ruby 1.8.4 (2005-12-24) [i686-linux] > I don't think it's a bug, just that HTTPClient has a Method in one of it's instance variables, and YAML doesn't have a way to load them (rightly so, of course). Try this: require "http-access2" require "yaml" class HTTPClient def to_yaml( opts = {} ) YAML.quick_emit( self.id, opts ) { |out| out.map( "!contrived.cxm,2006-01-05" ) { |map| instance_variables.sort.each { |iv| value = instance_eval(iv) map.add(iv[1..-1], value) unless value.is_a? Method } } } end end YAML.add_domain_type( "contrived.cxm,2006-01-05", "httpClient" ) { |type, val| YAML.object_maker( HTTPClient, val ) } client = HTTPClient.new File.open("client.yml", "w") do |file| file.puts client.to_yaml end client2 = YAML.load( File.read( "client.yml" )) p client2 I should say, however, that you really shouldn't use this - the client is undoubtedly broken (it's not keeping Methods in instance vars for nothing) so it wouldn't work. It's just to show that's where (I think) the problem lies. -- Ross Bamford - rosco / roscopeco.remove.co.uk