I have a class which when YAMLized produces...

--- !ruby/object:Player
name: dude
password: dude
session: !ruby/object:TCPSocket {}
thread: !ruby/object:Thread {}

I'd like to figure out a way for it to just ignore the Thread and/or
TCPSocket type. It won't choke on the socket, but it will loading up
the Thread. Can I add a domain type that will just produce nil not
matter what happens?

irb(main):019:0> YAML::add_domain_type("legomaster.net,2005-03",
/Thread/) { | type, val | nil }
=> nil
irb(main):020:0> temp = YAML.load_file('data/players/dude.o')
TypeError: allocator undefined for Thread
        from /usr/local/lib/ruby/1.8/yaml.rb:347:in `allocate'
        from /usr/local/lib/ruby/1.8/yaml.rb:347:in `object_maker'
        from /usr/local/lib/ruby/1.8/yaml/rubytypes.rb:36
        from /usr/local/lib/ruby/1.8/yaml/rubytypes.rb:34:in `call'
        from (irb):20:in `transfer'
        from /usr/local/lib/ruby/1.8/yaml.rb:119:in `load'
        from /usr/local/lib/ruby/1.8/yaml.rb:119:in `load'
        from /usr/local/lib/ruby/1.8/yaml.rb:130:in `load_file'
        from /usr/local/lib/ruby/1.8/yaml.rb:129:in `open'
        from /usr/local/lib/ruby/1.8/yaml.rb:129:in `load_file'
        from (irb):20
irb(main):021:0>

Thanks, it would much easier if I didn't have to end up writing my own parser.

~Travis Smith