Class: RailsVitals::Scorers::BaseScorer

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_vitals/scorers/base_scorer.rb

Direct Known Subclasses

CompositeScorer, NPlusOneScorer, QueryScorer

Constant Summary collapse

HEALTHY =
(90..100)
ACCEPTABLE =
(70..89)
WARNING =
(50..69)
CRITICAL =
(0..49)

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(collector) ⇒ BaseScorer

Returns a new instance of BaseScorer.



27
28
29
# File 'lib/rails_vitals/scorers/base_scorer.rb', line 27

def initialize(collector)
  @collector = collector
end

Class Method Details

.color_for(score) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/rails_vitals/scorers/base_scorer.rb', line 18

def self.color_for(score)
  case score
  when HEALTHY    then "green"
  when ACCEPTABLE then "blue"
  when WARNING    then "amber"
  else                 "red"
  end
end

.label_for(score) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/rails_vitals/scorers/base_scorer.rb', line 9

def self.label_for(score)
  case score
  when HEALTHY    then "Healthy"
  when ACCEPTABLE then "Acceptable"
  when WARNING    then "Warning"
  else                 "Critical"
  end
end

Instance Method Details

#scoreObject

Returns a score between 0 and 100

Raises:

  • (NotImplementedError)


32
33
34
# File 'lib/rails_vitals/scorers/base_scorer.rb', line 32

def score
  raise NotImplementedError, "#{self.class} must implement #score"
end