class StatusCheck::Runner

Attributes

checks[R]

Public Class Methods

new(checks) click to toggle source
# File lib/status_check/runner.rb, line 5
def initialize(checks)
  @checks = checks
end

Public Instance Methods

verify() click to toggle source
# File lib/status_check/runner.rb, line 9
def verify
  services_status = collect_services_status
  report_status(services_status)
end

Private Instance Methods

collect_services_status() click to toggle source
# File lib/status_check/runner.rb, line 20
def collect_services_status
  checks.each_pair.map do |name, service|
    verify_service(name, service)
  end
end
report_status(services_status) click to toggle source
# File lib/status_check/runner.rb, line 15
def report_status(services_status)
  overall = services_status.all? { |service| service[:success] }
  [overall, services_status]
end
verify_service(name, service) click to toggle source
# File lib/status_check/runner.rb, line 26
def verify_service(name, service)
  success, status = service.report_status
  {service: name, success: success, status: status}
rescue => ex
  {service: name, success: false, status: ex.to_s}
end