module FactoryBotInstruments::TracingHelpers
Public Class Methods
sql_tracer(active) { || ... }
click to toggle source
# File lib/factory_bot_instruments/tracing.rb, line 39 def self.sql_tracer(active) return yield unless active begin stdout_log = Logger.new($stdout) stdout_log.formatter = proc do |severity, datetime, progname, msg| depth = "| " * ($FACTORY_BOT_INSTRUMENTS_TRACING_DEPTH - 1) msg = FactoryBotInstruments::TracingHelpers.uncolorize(msg) msg = msg.strip msg = msg.gsub(/^SQL /, "") # remove SQL prefix "#{depth}| \e[36m#{msg}\e[0m\n" end standard_logger = ActiveRecord::Base.logger ActiveRecord::Base.logger = stdout_log yield ensure ActiveRecord::Base.logger = standard_logger end end
uncolorize(string)
click to toggle source
# File lib/factory_bot_instruments/tracing.rb, line 35 def self.uncolorize(string) string.gsub(/\033\[\d+m/, "") end