class Rack::Healthcheck::Checks::Base

Attributes

elapsed_time[R]
name[RW]
optional[RW]
status[R]
type[R]
url[RW]

Public Class Methods

new(name, type, optional, url) click to toggle source
# File lib/rack/healthcheck/checks/base.rb, line 10
def initialize(name, type, optional, url)
  unless Rack::Healthcheck::Type::ALL.include?(type)
    raise InvalidType, "Type must be one of these options #{Rack::Healthcheck::Type::ALL.join(', ')}"
  end

  @name = name
  @optional = optional || false
  @url = url
  @type = type
end

Public Instance Methods

keep_in_pool?() click to toggle source
# File lib/rack/healthcheck/checks/base.rb, line 38
def keep_in_pool?
  (!optional && status == true) || optional
end
run() click to toggle source
# File lib/rack/healthcheck/checks/base.rb, line 21
def run
  start = Time.now
  check
  @elapsed_time = Time.now - start
end
to_hash() click to toggle source
# File lib/rack/healthcheck/checks/base.rb, line 27
def to_hash
  {
    name: name,
    type: type,
    status: status,
    optional: optional,
    time: elapsed_time,
    url: url
  }.reject { |_key, value| value.nil? }
end

Private Instance Methods

check() click to toggle source
# File lib/rack/healthcheck/checks/base.rb, line 44
def check; end