Hier speichern Sie Ihre Yaml-Objekte als Person-Objekte, und wenn Sie sie dann wieder laden, werden sie als Person-Objekte geladen, was ihre Handhabung wesentlich erleichtert.
Ändern Sie zunächst Ihre yaml-Datei in etwa so:
---
- !ruby/object:Person
name: John Doe
sname: jdoe
email: jdoe@gmail.com
- !ruby/object:Person
name: Jane Doe
sname: jdoe
email: jane@hotmail.com
Jetzt können Sie Ihre yaml-Datei in ein Array von Person-Objekten laden und das Array dann bearbeiten:
FILENAME = 'data.yaml'
class Person
attr_accessor :name, :sname, :email
end
require "yaml"
# Will return an array of Person objects.
data = YAML::load(File.open(FILENAME))
# Will print out the first object in the array's name. #=> John Doe
puts data.first.name