¿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.