Ruby:
Trabajando con YAML

Cómo hacerlo:

Ruby viene con una biblioteca incorporada llamada Psych para analizar y emitir YAML. Para utilizarla, primero necesitas requerir la biblioteca estándar de YAML. Aquí tienes un ejemplo básico para comenzar:

require 'yaml'

# Hash a ser serializado
person = { name: "John Doe", age: 30, skills: ["Ruby", "JavaScript"] }

# Convirtiendo el hash a YAML
yaml_data = person.to_yaml

puts yaml_data

Salida de muestra:

---
:name: John Doe
:age: 30
:skills:
- Ruby
- JavaScript

Para cargar datos YAML de vuelta en un objeto de Ruby:

loaded_person = YAML.load(yaml_data)

puts loaded_person

Salida de muestra:

{name: "John Doe", age: 30, skills: ["Ruby", "JavaScript"]}

Usando Bibliotecas de Terceros:

Aunque la biblioteca estándar es suficiente para tareas básicas, para necesidades complejas podrías considerar bibliotecas de terceros como ‘safe_yaml’. Para usar tales bibliotecas, primero debes instalar la gema:

gem install safe_yaml

Luego, puedes usarla para cargar datos YAML de forma segura, mitigando riesgos como la instanciación de objetos desde fuentes controladas por el usuario:

require 'safe_yaml'

safe_loaded_person = SafeYAML.load(yaml_data)

puts safe_loaded_person

Salida de muestra:

{name: "John Doe", age: 30, skills: ["Ruby", "JavaScript"]}

Este enfoque mejora la seguridad de tu manejo de YAML, convirtiéndolo en una buena opción para aplicaciones que cargan YAML de fuentes no confiables.