class OmniCat::Result
Attributes
scores[RW]
top_score_key[R]
total_score[R]
Public Class Methods
new()
click to toggle source
# File lib/omnicat/result.rb, line 7 def initialize @top_score_key = nil @scores = {} @total_score = 0 end
Public Instance Methods
add_score(score)
click to toggle source
Method for adding new score to result
Parameters¶ ↑
-
score
-OmniCat::Score
# File lib/omnicat/result.rb, line 19 def add_score(score) @total_score += score.value @scores[score.key] = score if @top_score_key.nil? || @scores[@top_score_key].value < score.value @top_score_key = score.key end end
calculate_percentages()
click to toggle source
Method for calculating percentages for scores
# File lib/omnicat/result.rb, line 39 def calculate_percentages @scores.each do |key, score| @scores[key].percentage = percentage(score.value) end end
top_score()
click to toggle source
Method for getting highest ranked score
Returns¶ ↑
-
score
-OmniCat::Score
# File lib/omnicat/result.rb, line 33 def top_score @scores[@top_score_key] end
Private Instance Methods
percentage(value)
click to toggle source
nodoc
# File lib/omnicat/result.rb, line 49 def percentage(value) (value * 100.0 / @total_score).round(0) end