Methods
I
L
N
O
R
S
Class Public methods
new()
# File activerecord/lib/active_record/log_subscriber.rb, line 16
def initialize
  super
  @odd_or_even = false
end
reset_runtime()
# File activerecord/lib/active_record/log_subscriber.rb, line 11
def self.reset_runtime
  rt, self.runtime = runtime, 0
  rt
end
runtime()
# File activerecord/lib/active_record/log_subscriber.rb, line 7
def self.runtime
  Thread.current["active_record_sql_runtime"] ||= 0
end
runtime=(value)
# File activerecord/lib/active_record/log_subscriber.rb, line 3
def self.runtime=(value)
  Thread.current["active_record_sql_runtime"] = value
end
Instance Public methods
identity(event)
# File activerecord/lib/active_record/log_subscriber.rb, line 49
def identity(event)
  return unless logger.debug?

  name = color(event.payload[:name], odd? ? CYAN : MAGENTA, true)
  line = odd? ? color(event.payload[:line], nil, true) : event.payload[:line]

  debug "  #{name}  #{line}"
end
logger()
# File activerecord/lib/active_record/log_subscriber.rb, line 62
def logger
  ActiveRecord::Base.logger
end
odd?()
# File activerecord/lib/active_record/log_subscriber.rb, line 58
def odd?
  @odd_or_even = !@odd_or_even
end
sql(event)
# File activerecord/lib/active_record/log_subscriber.rb, line 21
def sql(event)
  self.class.runtime += event.duration
  return unless logger.debug?

  payload = event.payload

  return if 'SCHEMA' == payload[:name]

  name    = '%s (%.1fms)' % [payload[:name], event.duration]
  sql     = payload[:sql].squeeze(' ')
  binds   = nil

  unless (payload[:binds] || []).empty?
    binds = "  " + payload[:binds].map { |col,v|
      [col.name, v]
    }.inspect
  end

  if odd?
    name = color(name, CYAN, true)
    sql  = color(sql, nil, true)
  else
    name = color(name, MAGENTA, true)
  end

  debug "  #{name}  #{sql}#{binds}"
end