class OkComputer::Check
Constants
- CheckNotDefined
Attributes
nil by default, only set to true if the check deems itself failed
nil by default, set by check
to control the output
to be set by Registry
upon registration
Public Instance Methods
Source
# File lib/ok_computer/check.rb, line 49 def <=>(check) if check.is_a?(CheckCollection) -1 else registrant_name.to_s <=> check.registrant_name.to_s end end
Source
# File lib/ok_computer/check.rb, line 77 def clear self.failure_occurred = false self.message = nil self.time = Float::NAN end
Public: Clear any prior failures
Source
# File lib/ok_computer/check.rb, line 65 def mark_failure self.failure_occurred = true end
Public: Mark that this check has failed in some way
Source
# File lib/ok_computer/check.rb, line 72 def mark_message(message) self.message = message end
Public: Capture the desired message to display
message - Text of the message to display for this check
Source
# File lib/ok_computer/check.rb, line 15 def run clear with_benchmarking do check end OkComputer.logger.info "[okcomputer] #{to_text}" end
Public: Run the check
Source
# File lib/ok_computer/check.rb, line 60 def success? not failure_occurred end
Public: Whether the check passed
Returns a boolean
Source
# File lib/ok_computer/check.rb, line 43 def to_json(*args) # NOTE swallowing the arguments that Rails passes by default since we don't care. This may prove to be a bad idea # Rails passes stuff like this: {:prefixes=>["ok_computer", "application"], :template=>"show", :layout=>#<Proc>}] {registrant_name => {:message => message, :success => success?, :time => time}}.to_json end
Public: The JSON output of performing the check
Returns a String containing JSON
Source
# File lib/ok_computer/check.rb, line 35 def to_text passfail = success? ? "passed" : "failed" I18n.t("okcomputer.check.#{passfail}", registrant_name: registrant_name, message: message, time: "#{time ? sprintf('%.3f', time) : '?'}s") end
Public: The text output of performing the check
Returns a String
Source
# File lib/ok_computer/check.rb, line 84 def with_benchmarking self.time = Benchmark.realtime do yield end end
Private: Benchmark the time it takes to run the block