Class: CheckCasesExtension::HallOfFame

Inherits:
Object
  • Object
show all
Defined in:
lib/teuton/case_manager/ext/hall_of_fame.rb

Constant Summary collapse

MIN_HALL_OF_FAME =
3

Instance Method Summary collapse

Constructor Details

#initialize(cases) ⇒ HallOfFame

Returns a new instance of HallOfFame.



7
8
9
# File 'lib/teuton/case_manager/ext/hall_of_fame.rb', line 7

def initialize(cases)
  @cases = cases
end

Instance Method Details

#callObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/teuton/case_manager/ext/hall_of_fame.rb', line 11

def call
  celebrities = {}

  @cases.each do |acase|
    next if acase.skip

    grade = acase.grade
    celebrities[grade] = "" if celebrities[grade].nil?
    celebrities[grade] += "*"
  end

  sorted_list = celebrities.sort_by { |key, _value| key }
  if sorted_list.size >= MIN_HALL_OF_FAME
    Project.value[:hall_of_fame] = sorted_list.reverse
  end
end