Вы можете использовать group_by
для группировки данных по :month
, а затем использовать sum
длядобавить доход.
array
.group_by{ |data| data[:month] }
.map{ |k, v| {month: k, revenu: v.sum { |m| m[:revenu] || 0}} }
#=> [{:month=>"January", :revenu=>0},
#=> {:month=>"February", :revenu=>0},
#=> {:month=>"March", :revenu=>0},
#=> {:month=>"April", :revenu=>0},
#=> {:month=>"May", :revenu=>6389.216324018002},
#=> {:month=>"June", :revenu=>0},
#=> {:month=>"July", :revenu=>0},
#=> {:month=>"August", :revenu=>0},
#=> {:month=>"September", :revenu=>0},
#=> {:month=>"October", :revenu=>0},
#=> {:month=>"November", :revenu=>0},
#=> {:month=>"December", :revenu=>0}]