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