class ElbHealthCheck::Middleware

Attributes

app[RW]

Public Class Methods

new(app) click to toggle source
# File lib/elb_health_check/middleware.rb, line 7
def initialize(app)
  @app = app
end

Public Instance Methods

call(env) click to toggle source
# File lib/elb_health_check/middleware.rb, line 11
def call(env)
  return app.call(env) unless ElbHealthCheck.uris.include?(env['PATH_INFO'])

  checks = ElbHealthCheck.checks.map { |check| send("#{check}?") }

  if checks.include?(false)
    [500, {}, ['FAILED']]
  else
    [200, {}, ['OK']]
  end
end

Private Instance Methods

database?() click to toggle source
# File lib/elb_health_check/middleware.rb, line 25
def database?
  if defined?(ActiveRecord)
    ActiveRecord::Base.connection.active?
  else
    true
  end
end