class MongoModel::LogSubscriber

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/mongomodel/log_subscriber.rb, line 16
def initialize
  super
  @odd_or_even = false
end
reset_runtime() click to toggle source
# File lib/mongomodel/log_subscriber.rb, line 11
def self.reset_runtime
  rt, self.runtime = runtime, 0
  rt
end
runtime() click to toggle source
# File lib/mongomodel/log_subscriber.rb, line 7
def self.runtime
  Thread.current["mongomodel_runtime"] ||= 0
end
runtime=(value) click to toggle source
# File lib/mongomodel/log_subscriber.rb, line 3
def self.runtime=(value)
  Thread.current["mongomodel_runtime"] = value
end

Public Instance Methods

logger() click to toggle source
# File lib/mongomodel/log_subscriber.rb, line 42
def logger
  MongoModel.logger
end
odd?() click to toggle source
# File lib/mongomodel/log_subscriber.rb, line 38
def odd?
  @odd_or_even = !@odd_or_even
end
query(event) click to toggle source
# File lib/mongomodel/log_subscriber.rb, line 21
def query(event)
  self.class.runtime += event.duration
  return unless logger.debug?

  collection = '%s (%.1fms)' % [event.payload[:collection], event.duration]
  query      = event.payload[:query]

  if odd?
    collection = color(collection, CYAN, true)
    query      = color(query, nil, true)
  else
    collection = color(collection, MAGENTA, true)
  end

  debug "  #{collection}  #{query}"
end