Class: RailsHealthChecks::CheckRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_health_checks/check_registry.rb

Constant Summary collapse

BUILT_INS =
{
  database: -> { Checks::DatabaseCheck.new }
}.freeze

Class Method Summary collapse

Class Method Details

.build(check_names) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/rails_health_checks/check_registry.rb', line 11

def self.build(check_names)
  check_names.each_with_object({}) do |name, hash|
    factory = BUILT_INS.fetch(name) do
      raise ArgumentError, "Unknown check: #{name}. Available: #{BUILT_INS.keys.join(', ')}"
    end
    hash[name] = factory.call
  end
end

.run(checks, timeout:) ⇒ Object



20
21
22
# File 'lib/rails_health_checks/check_registry.rb', line 20

def self.run(checks, timeout:)
  checks.transform_values { |check| run_check(check, timeout: timeout) }
end