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.