fork(12) download
  1. hashes = [
  2. {:foo=>2, :date=>'Sat, 01 Sep 2014'},
  3. {:foo2=>2, :date=>'Sat, 02 Sep 2014'},
  4. {:foo3=>3, :date=>'Sat, 01 Sep 2014'},
  5. {:foo4=>4, :date=>'Sat, 03 Sep 2014'},
  6. {:foo5=>5, :date=>'Sat, 02 Sep 2014'}
  7. ]
  8.  
  9. puts hashes.group_by{|h| h[:date] }.map{|_, hs| hs.reduce(:merge)}
Success #stdin #stdout 0.01s 7412KB
stdin
Standard input is empty
stdout
{:foo=>2, :date=>"Sat, 01 Sep 2014", :foo3=>3}
{:foo2=>2, :date=>"Sat, 02 Sep 2014", :foo5=>5}
{:foo4=>4, :date=>"Sat, 03 Sep 2014"}