class ActiveRecord::SQLCounter

Attributes

ignored_sql[RW]
log[RW]
log_all[RW]
ignore[R]

Public Class Methods

clear_log() click to toggle source
# File lib/active_record/test_case.rb, line 85
def clear_log; self.log = []; self.log_all = []; end
new(ignore = Regexp.union(self.class.ignored_sql)) click to toggle source
# File lib/active_record/test_case.rb, line 106
def initialize(ignore = Regexp.union(self.class.ignored_sql))
  @ignore = ignore
end

Public Instance Methods

call(name, start, finish, message_id, values) click to toggle source
# File lib/active_record/test_case.rb, line 110
def call(name, start, finish, message_id, values)
  sql = values[:sql]

  # FIXME: this seems bad. we should probably have a better way to indicate
  # the query was cached
  return if 'CACHE' == values[:name]

  self.class.log_all << sql
  self.class.log << sql unless ignore =~ sql
end