How I'm trying to build a hash for the following input
[["Company", "Add"], ["Company", "Edit"], ["Company", "Delete"], ["Company", "List"], ["Caterer", "Add"], ["Caterer", "Edit"], ["User", "Add"]]
The output should be
[{'Company'=>['Add', 'List', 'Edit', 'Delete']},
{'Caterer'=>['Add', 'List', 'Edit', 'Delete']},
{'User'=>['Add']}]
Try 1:
input = [["Company", "Add"], ["Company", "Edit"], ["Company", "Delete"], ["Company", "List"], ["Caterer", "Add"], ["Caterer", "Edit"], ["User", "Add"]]
a=[]
input.each do |inp|
tmp = Hash.new
a<< tmp.update(inp[0] => inp[1])
end
result:
[{"Company"=>"Add"}, {"Company"=>"Edit"}, {"Company"=>"Delete"}, {"Company"=>"List"}, {"Caterer"=>"Add"}, {"Caterer"=>"Edit"}, {"User"=>"Add"}]
group_by { |x| x.keys.first }