<分区>
如何比我更优雅地从所有哈希中求和值?
boards_statistics
数组包含 items_info
哈希。
def generate_accumulated_statistics(boards_statistics)
# Create hash with zero values - its purprose is to
# accumulate results from all other hashes
resulted_hash = {
items_info: {
finished_items: {
todo: 0,
in_progress: 0,
done: 0
},
hours_worked: {
estimated: 0,
time_logged: 0
},
story_points_completed: {
estimated: 0,
completed: 0
},
due_today_items: 0,
late_items: 0
},
team_info: []
}
boards_statistics.each do |statistics|
resulted_hash[:items_info][:finished_items][:todo] += statistics[:items_info][:finished_items][:todo]
resulted_hash[:items_info][:finished_items][:in_progress] += statistics[:items_info][:finished_items][:in_progress]
resulted_hash[:items_info][:finished_items][:done] += statistics[:items_info][:finished_items][:done]
resulted_hash[:items_info][:hours_worked][:estimated] += statistics[:items_info][:hours_worked][:estimated]
resulted_hash[:items_info][:hours_worked][:time_logged] += statistics[:items_info][:hours_worked][:time_logged]
resulted_hash[:items_info][:story_points_completed][:estimated] += statistics[:items_info][:story_points_completed][:estimated]
resulted_hash[:items_info][:story_points_completed][:completed] += statistics[:items_info][:story_points_completed][:completed]
resulted_hash[:items_info][:due_today_items] += statistics[:items_info][:due_today_items]
resulted_hash[:items_info][:late_items] += statistics[:items_info][:late_items]
end
end