Skip to content

Commit

Permalink
return priorities in reasons
Browse files Browse the repository at this point in the history
  • Loading branch information
danReynolds committed Mar 28, 2018
1 parent cbf3a63 commit 417cc87
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions lib/strategy_engine.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,18 +43,19 @@ def calculate_factors(args)
end
end

def calculate_rating(factors)
def calculate_rating(priorities = [], factors)
reasons = []
weighted_factors = factors.inject({}) do |acc, (name, value)|
acc.tap do
priority = value[:priority] || PRIORITIES[:HIGHEST]
factor_priorities = priorities + [priority]
acc[priority] ||= { performance: 0, total: 0 }
priority_values = acc[priority]
performance = if value[:performance]
reasons << { name: name, args: value[:args] || {} }
reasons << { priorities: factor_priorities, name: name, args: value[:args] || {} }
value[:performance]
else
performance_rating = calculate_rating(value[:factors])
performance_rating = calculate_rating(factor_priorities, value[:factors])
reasons += performance_rating[:reasons]
performance_rating[:rating]
end
Expand Down Expand Up @@ -378,7 +379,7 @@ def champion_performance(args)
opposing: STANDARD_KDA
})
})
elsif champion_role_performance
elsif champion_role_performance.valid?
factors.merge!({
AVERAGE_CHAMPION_WIN_RATE: win_rate({
own: (champion_role_performance.winRate * 100).round(2),
Expand Down

0 comments on commit 417cc87

Please sign in to comment.