¿Cómo serializar un objeto usando TCPServer dentro?

En un esfuerzo por acelerar las ejecuciones frecuentes y repetidas de un script en particular en mi cadena, comencé a serializar objetos personalizados en el disco que, de lo contrario, demorarían demasiado en crearlos de forma agregada.

Usando Yaml y / o Marshal incorporado.

Yaml se serializa bien en un archivo de texto aparentemente sano, pero produce el siguiente error al intentar deserializar:

b2 = YAML::load(File.open("browserObj.yaml", 'r')) Syck::TypeError: Invalid Regular expression: "/\\A\\s*\n ([a-zA-Z][-+.a-zA-Z\\d]*): ...and many more strange lines 

Sin embargo, incluso intentando guardar en un archivo binario a través de los errores de Marshal:

 puts File.open("browserObj.bin", 'w').write Marshal::dump($browser) TypeError: can't dump TCPServer # Marshal::dump($browser, File.open("browserObj.bin", 'wb')) # same error 

Al no hacer $browser.close al final, tengo la opción de mantener este TCPServer activo y en funcionamiento después de la vida útil de mi script Ruby.

¿Alguna idea de cómo puedo salirme con la suya? Prometo una recarga exitosa para verificar la validez de cualquier zócalo / objeto interno y simplemente reinicializar un nuevo objeto si es necesario.