Ruby:
Lavorare con YAML

Come fare:

Ruby include una libreria integrata chiamata Psych per l’analisi e l’emissione di YAML. Per utilizzarla, devi prima richiedere la libreria standard YAML. Ecco un esempio base per iniziare:

require 'yaml'

# Hash da serializzare
person = { name: "John Doe", age: 30, skills: ["Ruby", "JavaScript"] }

# Conversione dell'hash in YAML
yaml_data = person.to_yaml

puts yaml_data

Output dell’esempio:

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

Per caricare dati YAML di nuovo in un oggetto Ruby:

loaded_person = YAML.load(yaml_data)

puts loaded_person

Output dell’esempio:

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

Utilizzo di librerie di terze parti:

Sebbene la libreria standard sia sufficiente per compiti basilari, per esigenze complesse potresti considerare l’uso di gemme di terze parti come ‘safe_yaml’. Per utilizzare tali librerie, devi prima installare la gemma:

gem install safe_yaml

Successivamente, puoi usarla per caricare in modo sicuro i dati YAML, mitigando rischi come l’istanza di oggetti da fonti controllate dall’utente:

require 'safe_yaml'

safe_loaded_person = SafeYAML.load(yaml_data)

puts safe_loaded_person

Output dell’esempio:

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

Questo approccio aumenta la sicurezza della tua gestione di YAML, rendendolo una buona scelta per applicazioni che caricano YAML da fonti non affidabili.