Index: app/models/issue.rb =================================================================== --- app/models/issue.rb (リビジョン 20577) +++ app/models/issue.rb (作業コピー) @@ -1743,16 +1743,16 @@ if children.any? child_with_total_estimated_hours = children.select {|c| c.total_estimated_hours.to_f > 0.0} if child_with_total_estimated_hours.any? - average = child_with_total_estimated_hours.map(&:total_estimated_hours).sum.to_d / child_with_total_estimated_hours.count + average = child_with_total_estimated_hours.sum(&:total_estimated_hours).to_d / child_with_total_estimated_hours.count else average = 1.0.to_d end - done = children.map do |c| + done = children.sum do |c| estimated = (c.total_estimated_hours || 0.0).to_d estimated = average unless estimated > 0.0 ratio = c.closed? ? 100 : (c.done_ratio || 0) estimated * ratio - end.sum + end progress = done / (average * children.count) p.done_ratio = progress.floor end Index: app/models/project.rb =================================================================== --- app/models/project.rb (リビジョン 20577) +++ app/models/project.rb (作業コピー) @@ -677,12 +677,12 @@ # progress on it's versions. def completed_percent(options={:include_subprojects => false}) if options.delete(:include_subprojects) - total = self_and_descendants.collect(&:completed_percent).sum + total = self_and_descendants.sum(&:completed_percent) total / self_and_descendants.count else if versions.count > 0 - total = versions.collect(&:completed_percent).sum + total = versions.sum(&:completed_percent) total / versions.count else