class Dblint::RailsIntegration

Constants

CHECKS

Public Instance Methods

check_instance_for_connection(connid, klass) click to toggle source
# File lib/dblint/rails_integration.rb, line 10
def check_instance_for_connection(connid, klass)
  @checks ||= {}
  @checks[connid] ||= {}
  @checks[connid][klass] ||= klass.new
end
finish(name, id, payload) click to toggle source
# File lib/dblint/rails_integration.rb, line 25
def finish(name, id, payload)
  return if %w(CACHE DBLINT SCHEMA).include?(payload[:name])

  CHECKS.each do |check_klass|
    check = check_instance_for_connection(payload[:connection_id], check_klass)
    check.statement_finished(name, id, payload_from_version(ActiveRecord::VERSION::MAJOR, payload))
  end
end
start(name, id, payload) click to toggle source
# File lib/dblint/rails_integration.rb, line 16
def start(name, id, payload)
  return if %w(CACHE DBLINT SCHEMA).include?(payload[:name])

  CHECKS.each do |check_klass|
    check = check_instance_for_connection(payload[:connection_id], check_klass)
    check.statement_started(name, id, payload)
  end
end

Private Instance Methods

payload_from_version(version, payload) click to toggle source
# File lib/dblint/rails_integration.rb, line 36
def payload_from_version(version, payload)
  return payload if version == 4

  compatible_binds = payload[:binds].map { |bind| [bind, bind.value] }
  payload.merge(binds: compatible_binds)
end