class DataMapper::Railties::LogSubscriber

Public Class Methods

new() click to toggle source
# File lib/dm-rails/railties/log_subscriber.rb, line 19
def initialize
  super
  @odd_or_even = false
end
reset_runtime() click to toggle source
# File lib/dm-rails/railties/log_subscriber.rb, line 14
def self.reset_runtime
  rt, self.runtime = runtime, 0
  rt
end
runtime() click to toggle source
# File lib/dm-rails/railties/log_subscriber.rb, line 10
def self.runtime
  Thread.current["data_mapper_sql_runtime"] ||= 0
end
runtime=(value) click to toggle source
# File lib/dm-rails/railties/log_subscriber.rb, line 6
def self.runtime=(value)
  Thread.current["data_mapper_sql_runtime"] = value
end

Public Instance Methods

logger() click to toggle source
# File lib/dm-rails/railties/log_subscriber.rb, line 45
def logger
  ::DataMapper.logger
end
odd?() click to toggle source
# File lib/dm-rails/railties/log_subscriber.rb, line 41
def odd?
  @odd_or_even = !@odd_or_even
end
sql(event) click to toggle source
# File lib/dm-rails/railties/log_subscriber.rb, line 24
def sql(event)
  self.class.runtime += event.duration
  return unless logger.debug?

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

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

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