Skip to content

Commit

Permalink
Refactor Reports Controller
Browse files Browse the repository at this point in the history
  • Loading branch information
sojan-official committed Oct 27, 2019
1 parent 6c60b60 commit 3b6d58b
Showing 1 changed file with 8 additions and 15 deletions.
23 changes: 8 additions & 15 deletions app/controllers/api/v1/reports_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -41,25 +41,18 @@ def agent
end

def account_summary_metrics
ACCOUNT_METRICS.each_with_object({}) do |metric, result|
data = ReportBuilder.new(current_account, account_summary_params(metric)).build

if AVG_ACCOUNT_METRICS.include?(metric)
sum = data.inject(0) { |sum, hash| sum + hash[:value].to_i }
sum /= data.length unless sum.zero?
else
sum = data.inject(0) { |sum, hash| sum + hash[:value].to_i }
end

result[metric] = sum
end
summary_metrics(ACCOUNT_METRICS, :account_summary_params, AVG_ACCOUNT_METRICS)
end

def agent_summary_metrics
AGENT_METRICS.each_with_object({}) do |metric, result|
data = ReportBuilder.new(current_account, agent_summary_params(metric)).build
summary_metrics(AGENT_METRICS, :agent_summary_params, AVG_AGENT_METRICS)
end

def summary_metrics(metrics, calc_function, avg_metrics)
metrics.each_with_object({}) do |metric, result|
data = ReportBuilder.new(current_account, send(calc_function, metric)).build

if AVG_AGENT_METRICS.include?(metric)
if avg_metrics.include?(metric)
sum = data.inject(0) { |sum, hash| sum + hash[:value].to_i }
sum /= data.length unless sum.zero?
else
Expand Down

0 comments on commit 3b6d58b

Please sign in to comment.