Class: Kaisoku::Prioritizer

Inherits:
Object
  • Object
show all
Defined in:
lib/kaisoku/prioritizer.rb

Instance Method Summary collapse

Instance Method Details

#order(entities) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/kaisoku/prioritizer.rb', line 5

def order(entities)
  entities.sort_by do |entity|
    [
      entity.failed? ? 0 : 1,
      -(entity.last_failed_at || 0),
      -entity.failure_count.to_i,
      entity.avg_duration_ms || Float::INFINITY,
      entity.file,
      entity.identifier
    ]
  end
end