Convert Ruby Hash into YAML
Here's how I'd do it:
require 'yaml'HASH_OF_HASHES = { "hostname1.test.com"=> {"public"=>"51", "private"=>"10"}, "hostname2.test.com"=> {"public"=>"192", "private"=>"12"}}ARRAY_OF_HASHES = [ {"hostname1.test.com"=> {"public"=>"51", "private"=>"10"}}, {"hostname2.test.com"=> {"public"=>"192", "private"=>"12"}}]puts HASH_OF_HASHES.to_yamlputsputs ARRAY_OF_HASHES.to_yaml
Which outputs:
---hostname1.test.com: public: '51' private: '10'hostname2.test.com: public: '192' private: '12'---- hostname1.test.com: public: '51' private: '10'- hostname2.test.com: public: '192' private: '12'
The Object class has a to_yaml method. I used that and it generated the YAML file correctly.
No, it doesn't.
This is from a freshly opened IRB session:
Object.instance_methods.grep(/to_yaml/)=> []require 'yaml'=> trueObject.instance_methods.grep(/to_yaml/)=> [:psych_to_yaml, :to_yaml, :to_yaml_properties]