Ruby:
Travailler avec YAML

Comment faire :

Ruby est livré avec une bibliothèque intégrée appelée Psych pour l’analyse et l’émission de YAML. Pour l’utiliser, vous devez d’abord requérir la bibliothèque standard YAML. Voici un exemple de base pour commencer :

require 'yaml'

# Hash à sérialiser
person = { name: "John Doe", age: 30, skills: ["Ruby", "JavaScript"] }

# Conversion du hash en YAML
yaml_data = person.to_yaml

puts yaml_data

Sortie d’exemple :

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

Pour charger des données YAML dans un objet Ruby :

loaded_person = YAML.load(yaml_data)

puts loaded_person

Sortie d’exemple :

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

Utilisation de bibliothèques tierces :

Bien que la bibliothèque standard soit suffisante pour les tâches de base, pour des besoins complexes, vous pouvez envisager des gemmes tierces comme ‘safe_yaml’. Pour utiliser de telles bibliothèques, vous devez d’abord installer la gemme :

gem install safe_yaml

Ensuite, vous pouvez l’utiliser pour charger en toute sécurité des données YAML, atténuant les risques comme l’instanciation d’objets à partir de sources contrôlées par l’utilisateur :

require 'safe_yaml'

safe_loaded_person = SafeYAML.load(yaml_data)

puts safe_loaded_person

Sortie d’exemple :

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

Cette approche améliore la sécurité de votre gestion de YAML, en faisant un bon choix pour les applications qui chargent du YAML à partir de sources non fiables.