class MonitorTypeThreshold

A base class for checking a number against a min and/or max value

Public Class Methods

new(params) click to toggle source

See super method for generic description

Calls superclass method MonitorType::new
# File lib/monitor_type/threshold.rb, line 6
def initialize(params)
  @min = params[:min] ||= 0
  @max = params[:max]
  super(params)
end

Public Instance Methods

check(value) click to toggle source

Provides the means to check a value against thresholds

# File lib/monitor_type/threshold.rb, line 30
def check(value)
  context_sentence = @context_sentence.nil? ? '' : "#{@context_sentence}\n"
  url = @url.nil? ? '' : "\n\n#{@url}\n"

  value = value.to_i

  alert("#{context_sentence}Minimum threshold exceeded. " \
        "Minimum: #{@min}, " \
        "Actual: #{value}#{url}") if !@min.nil? && value < @min

  alert("#{context_sentence}Maximum threshold exceeded. " \
        "Maximum: #{@max}, " \
        "Actual: #{value}#{url}") if !@max.nil? && value > @max
end
derived_value() click to toggle source

Get the context dependent value which is to be checked

# File lib/monitor_type/threshold.rb, line 13
def derived_value
  fail 'Method needs to be overridden'
end
process() click to toggle source
# File lib/monitor_type/threshold.rb, line 17
def process
  if @block.nil?
    value = derived_value
  else
    value = @block.call(@params)
    string = "value: #{value}\n"
    puts string
  end

  check(value)
end