Если вы поместите все различные хэши в один массив, вы можете использовать group_by
, чтобы сгруппировать их с одинаковыми country_id
. Затем вы можете использовать inject
с merge
до merge
вместе:
country_info_and_stats = country_info + country_stats
country_info_and_stats.group_by {|x| x[:country_id]}.map do |k,v|
v.inject(:merge)
end
#=> [{:country_id=>"US", :country_desc=>"United States", :pageviews=>150},
# {:country_id=>"AU", :country_desc=>"Australia", :pageviews=>200}]