class ExTwitter::LogSubscriber
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/ex_twitter/log_subscriber.rb, line 8 def initialize super @odd = false end
Public Instance Methods
cache_any(event)
click to toggle source
# File lib/ex_twitter/log_subscriber.rb, line 13 def cache_any(event) return unless logger.debug? payload = event.payload name = "#{payload.delete(:name)} (#{event.duration.round(1)}ms)" name = colorize_payload_name(name, payload[:name], AS: true) debug { "#{name} #{(payload.inspect)}" } end
call(event)
click to toggle source
# File lib/ex_twitter/log_subscriber.rb, line 31 def call(event) return unless logger.debug? payload = event.payload name = "#{payload.delete(:operation)} (#{event.duration.round(1)}ms)" name = colorize_payload_name(name, payload[:name]) # sql = color(sql, sql_color(sql), true) key = payload.delete(:key) debug { "#{name} #{key} #{(payload.inspect)}" } end
Private Instance Methods
colorize_payload_name(name, payload_name, options = {})
click to toggle source
# File lib/ex_twitter/log_subscriber.rb, line 46 def colorize_payload_name(name, payload_name, options = {}) if options[:AS] color(name, MAGENTA, true) else color(name, CYAN, true) end end
logger()
click to toggle source
# File lib/ex_twitter/log_subscriber.rb, line 75 def logger ExTwitter::Client.logger end
sql_color(sql)
click to toggle source
# File lib/ex_twitter/log_subscriber.rb, line 54 def sql_color(sql) case sql when /\A\s*rollback/mi RED when /select .*for update/mi, /\A\s*lock/mi WHITE when /\A\s*select/i BLUE when /\A\s*insert/i GREEN when /\A\s*update/i YELLOW when /\A\s*delete/i RED when /transaction\s*\Z/i CYAN else MAGENTA end end