summaryrefslogtreecommitdiff
path: root/lib/gitlab/cycle_analytics/usage_data.rb
diff options
context:
space:
mode:
authorTiago Botelho <tiagonbotelho@hotmail.com>2018-02-12 12:24:42 +0000
committerTiago Botelho <tiagonbotelho@hotmail.com>2018-02-28 10:46:20 +0000
commit4fcbcce36475067f4d72ebe9371634e31073a497 (patch)
treed5cd9c1ee42e88f5069e25459b4900ad18c21d23 /lib/gitlab/cycle_analytics/usage_data.rb
parent7c109c575016eb0596e20180b334ca2955bd33e6 (diff)
downloadgitlab-ce-4fcbcce36475067f4d72ebe9371634e31073a497.tar.gz
Add BatchLoader as a way to refactor the base stage code
Diffstat (limited to 'lib/gitlab/cycle_analytics/usage_data.rb')
-rw-r--r--lib/gitlab/cycle_analytics/usage_data.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/gitlab/cycle_analytics/usage_data.rb b/lib/gitlab/cycle_analytics/usage_data.rb
index 43ec9f9c493..0aefd434e14 100644
--- a/lib/gitlab/cycle_analytics/usage_data.rb
+++ b/lib/gitlab/cycle_analytics/usage_data.rb
@@ -15,7 +15,7 @@ module Gitlab
values = {}
medians_per_stage.each do |stage_name, medians|
- medians = medians.compact
+ medians = medians.map(&:presence).compact
stage_values = {
average: calc_average(medians),
@@ -35,7 +35,12 @@ module Gitlab
private
def medians_per_stage
- @medians_per_stage ||= ::CycleAnalytics.all_medians_per_stage(projects, options)
+ projects.each_with_object({}) do |project, hsh|
+ ::CycleAnalytics.new(project, options).all_medians_per_stage.each do |stage_name, median|
+ hsh[stage_name] ||= []
+ hsh[stage_name] << median
+ end
+ end
end
def calc_average(values)
@@ -61,4 +66,3 @@ module Gitlab
end
end
end
-