class Dogscaler::Check
Constants
- NoPointsSetError
- NoResultsSetError
Public Instance Methods
reduce!()
click to toggle source
# File lib/dogscaler/query.rb, line 29 def reduce! raise NoPointsSetError, 'No points are set on this object' if points.empty? logger.debug "Apply transform #{transform}" case transform when 'avg' result = points.inject(0.0) { |sum,el| sum + el } / points.size when 'max' result = points.max when 'min' result = points.min when 'last' result = points[-1] when 'sum' result = points.reduce(0, :+) when 'count' result = points.count else logger.error 'Invalid transform: #{transform}' exit 1 end logger.debug "Transformed value #{result}" self.result = result end
status()
click to toggle source
# File lib/dogscaler/query.rb, line 14 def status raise NoResultSetError, 'No results set on this object' if not result if self.result > scale_up_threshhold logger.debug "Value: #{result} Threshold: #{scale_up_threshhold}." 1 elsif self.result < scale_down_threshhold logger.debug "Value: #{result} Threshold: #{scale_down_threshhold}." -1 else logger.debug "Value: #{result} Max Threshold: #{scale_up_threshhold}." logger.debug "Value: #{result} Min Threshold: #{scale_down_threshhold}." 0 end end