Search code examples
rubyhashhash-of-hashes

How to add a line to multi dimensional hash?


I'm quite new to ruby and I'm blocking on this simple issue:

I have the following hash:

theData"=>{"586"=>{"status"=>"0"},
           "585"=>{"status"=>"0"}}

I would like to add a line "current_editor" at each level, to get the following hash:

theData"=>{"586"=>{"status"=>"0", "current_editor" => "3"},
           "585"=>{"status"=>"0", "current_editor" => "3"}}

How can I do this? Many thanks in advance!


Solution

  • theData = {"586"=>{"status"=>"0"}, "585"=>{"status"=>"0"}}
    theData.each{|k, v| theData[k]["current_editor"] = 3}
    #=> {"586"=>{"status"=>"0", "current_editor"=>3}, 
    #=>  "585"=>{"status"=>"0", "current_editor"=>3}}