module Remnant::Database::ClassMethods

Public Instance Methods

disable!() click to toggle source
# File lib/remnant/database.rb, line 4
def disable!
  @enabled = false
end
enable!() click to toggle source
# File lib/remnant/database.rb, line 8
def enable!
  @enabled = true
end
enabled?() click to toggle source
# File lib/remnant/database.rb, line 12
def enabled?
  @enabled
end
queries() click to toggle source
# File lib/remnant/database.rb, line 40
def queries
  Thread.current['remnant.database.queries'] ||= []
end
record(sql, backtrace = [], &block) click to toggle source
# File lib/remnant/database.rb, line 24
def record(sql, backtrace = [], &block)
  return block.call unless Remnant::Database.enabled?

  start_time = Time.now
  result = block.call
  queries << Remnant::Database::Query.new(sql, Time.now - start_time, backtrace)

  return result
end
reset() click to toggle source
# File lib/remnant/database.rb, line 34
def reset
  @suppress = true
  @total_time = nil
  Thread.current['remnant.database.queries'] = []
end
suppress?() click to toggle source
# File lib/remnant/database.rb, line 20
def suppress?
  @suppress || true
end
total_time() click to toggle source
# File lib/remnant/database.rb, line 44
def total_time
  @total_time ||= queries.map(&:time).sum * 1000
end
unsuppress!() click to toggle source
# File lib/remnant/database.rb, line 16
def unsuppress!
  @suppress = false
end