I have an array of hashes, something like
[ {:type=>\"Meat\", :name=>\"one\"}, {:type=>\"Meat\", :name=>\"two\"}, {:type=>\"Fruit\", :n
In a single iteration over initial array:
arry.inject(Hash.new([])) { |h, a| h[a[:type]] += [a[:name]]; h }