I have a list of accounts I want to save as a YAML file and load it into ruby. Something like this:
Account1 John Smith jsmith [email protected] Account2 John Doe jdoe [email protected]
Then I want to get the email address of the person with the name of "John Doe" (for example).
How do I do this?
Here, you save your yaml objects as Person objects and then when you load them back, they will load into Person objects, making them a lot easier to handle.
First change tweak your yaml file to something like this:
---
- !ruby/object:Person
name: John Doe
sname: jdoe
email: [email protected]
- !ruby/object:Person
name: Jane Doe
sname: jdoe
email: [email protected]
Now you can load your yaml file into an array of Person objects and then manipulate the array:
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With