class Deimos::Status::Runner

Public Class Methods

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

Public Instance Methods

body() click to toggle source
# File lib/deimos/status/runner.rb, line 12
def body
  completed_checks.to_json
end
status() click to toggle source
# File lib/deimos/status/runner.rb, line 8
def status
  ok? ? :ok : :internal_server_error
end

Private Instance Methods

completed_checks() click to toggle source
# File lib/deimos/status/runner.rb, line 22
def completed_checks
  @completed_checks ||= @checks.transform_values do |function|
    Concurrent::Promises.future(&function)
  end.transform_values(&:value)
end
ok?() click to toggle source
# File lib/deimos/status/runner.rb, line 18
def ok?
  completed_checks.values.all?
end