class StatusCheck::Configuration

Constants

AVAILABLE_SERVICES

Attributes

checks[RW]

Public Class Methods

new() click to toggle source
# File lib/status_check/configuration.rb, line 7
def initialize
  @checks = {}
end

Public Instance Methods

check(service_name, service:, connection:) click to toggle source
# File lib/status_check/configuration.rb, line 11
def check(service_name, service:, connection:)
  service = setup_service(service, connection)
  validate_service(service)
  @checks[service_name] = service
end

Private Instance Methods

setup_service(service_class, connection) click to toggle source
# File lib/status_check/configuration.rb, line 18
def setup_service(service_class, connection)
  service_class.new(connection)
rescue => ex
  raise Errors::NotValidParams, "Service #{service_class} cannot be instantiated with connection: #{ex.message}"
end
validate_service(service) click to toggle source
# File lib/status_check/configuration.rb, line 24
def validate_service(service)
  unless service.respond_to?(:report_status)
    raise Errors::NotValidParams, "Service #{service.class} should respond to report_status"
  end
end