Skip to content

Instantly share code, notes, and snippets.

@rajeevkannav
Last active December 15, 2015 05:48
Show Gist options
  • Save rajeevkannav/5211358 to your computer and use it in GitHub Desktop.
Save rajeevkannav/5211358 to your computer and use it in GitHub Desktop.
Hash Filer unique
Use : hash.invert.invert
Fuck what is wrriten below
hash = {"0"=>{"name"=>"app1103key1", "value"=>"app1103value1", "_destroy"=>"true", "id"=>""}, "1"=>{"name"=>"version102key2",
"value"=>"version102value2"}, "2"=>{"name"=>"version102key1", "value"=>"version102value1"}, "3"=>{"name"=>"version102profile2key1", "value"=>"version102profile2value1"}, "4"=>{"name"=>"app1-103profilekey1", "value"=>"app1-103profilevalue1"}, "5"=>{"name"=>"app1-103profilekey1", "value"=>"app1-103profilevalue1"},"6"=>{"name"=>"version102key1", "value"=>"version102value1"}}
merged_list = {}
hash.values.each do |item|
if merged_list.has_key? item['name']
merged_list[item['name']].merge! item
else
merged_list[item['name']] = item
end
end
my_array = merged_list.collect { |k, v| v }
required_hash = Hash[hash.keys.zip(my_array)].reject!{|k,v| v.nil?}
puts required_hash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment