class Rack::ECG::Check::SequelConnection

Attributes

connection_parameters[R]
name[R]

Public Class Methods

new(parameters = {}) click to toggle source

Checks whether Sequel can connect to the database identified by the connection option.

@option parameters connection [String,Hash] Sequel connection parameters to check @option parameters name [String,nil] Name to distinguish multiple Sequel checks

# File lib/rack/ecg/check/sequel_connection.rb, line 13
def initialize(parameters = {})
  @connection_parameters = parameters[:connection]
  @name = parameters[:name]
end

Public Instance Methods

result() click to toggle source
# File lib/rack/ecg/check/sequel_connection.rb, line 18
def result
  value = ""
  status = Status::OK
  begin
    if connection_parameters.nil?
      status = Status::ERROR
      value = "Sequel Connection parameters not found"
    elsif defined?(::Sequel)
      ::Sequel.connect(connection_parameters) do |db|
        value = db.test_connection
        status = Status::OK
      end
    else
      status = Status::ERROR
      value = "Sequel not found"
    end
  rescue => e
    status = Status::ERROR
    value = e.message
  end

  Result.new(result_key.to_sym, status, value.to_s)
end
result_key() click to toggle source
# File lib/rack/ecg/check/sequel_connection.rb, line 42
def result_key
  if name
    "sequel #{name.downcase}".gsub(/\W+/, '_')
  else
    "sequel"
  end
end