shaik
shaik

Reputation: 153

How to convert the data to the yml file

I have a Ruby file, "one.rb":

require 'yaml'

e = { "names"=>{"first_name" => "shaik", "last_name" => "farooq"} }

puts e.to_yaml

When I run this it gets executed successfully in the console and outputs:

---
names:
first_name: shaik
last_name: farooq

I want to store the executed data in a file with a "yml" extension. How can I do this from the above file (test.rb)?

Upvotes: 1

Views: 270

Answers (2)

the Tin Man
the Tin Man

Reputation: 160551

It's really simple:

require 'yaml'

e = { "names"=>{"first_name" => "shaik", "last_name" => "farooq"} }
File.write('test.yaml', e.to_yaml)

After running that, a file called "test.yaml" will exist in the current directory that contains:

---
names:
  first_name: shaik
  last_name: farooq

You can reload that data easily also:

new_e = YAML.load_file('test.yaml')
# => {"names"=>{"first_name"=>"shaik", "last_name"=>"farooq"}}

Upvotes: 2

Justin Ko
Justin Ko

Reputation: 46826

You can write the yaml to file with:

require 'yaml'

e = { "names"=>{"first_name" => "shaik", "last_name" => "farooq"} }

File.open('your_file_name.yml', 'w') { |f| f.write(e.to_yaml) }

Upvotes: 1

Related Questions