¿Lee y escriba archivos YAML sin destruir anclas y alias?

Necesito abrir un archivo YAML con alias usados ​​dentro de él:

defaults: &defaults
  foo: bar
  zip: button

node:
  <<: *defaults
  foo: other

Esto obviamente se expande a un documento equivalente de YAML de:

defaults:
  foo: bar
  zip: button

node:
  foo: other
  zip: button

CualYAML::load lo lee como

Necesito establecer nuevas claves en este documento YAML y luego volver a escribirlas en el disco, conservando la estructura original tanto como sea posible.

He miradoYAML :: Tienda, pero esto destruye completamente los alias y anclajes.

¿Hay algo disponible que podría algo a lo largo de las líneas de:

thing = Thing.load("config.yml")
thing[:node][:foo] = "yet another"

Guardando el documento de nuevo como:

defaults: &defaults
  foo: bar
  zip: button

node:
  <<: *defaults
  foo: yet another

?

Opté por usar YAML para esto debido a que maneja bien este alias, pero escribir YAML que contiene alias parece ser un campo de juego de aspecto sombrío en la realidad.

Respuestas a la pregunta(3)

Su respuesta a la pregunta