class N1Finder::Logger
Logs given N+1 queries
Public Instance Methods
log(n1_queries)
click to toggle source
Logs N+1 queries
@param [Array] n1_queries
@return [void]
# File lib/n_1_finder/logger.rb, line 12 def log(n1_queries) n1_queries.each do |n1_query| logger.debug("\n" + message(n1_query) + "\n") end end
Private Instance Methods
colored(string)
click to toggle source
# File lib/n_1_finder/logger.rb, line 50 def colored(string) color = "\e[33m" # yellow reset = "\e[0m" "#{color}#{string}#{reset}" end
colorize?()
click to toggle source
# File lib/n_1_finder/logger.rb, line 45 def colorize? log_filename = logger.instance_variable_get(:@logdev).filename log_filename.nil? || log_filename == 'STDOUT' end
formatted(string)
click to toggle source
# File lib/n_1_finder/logger.rb, line 41 def formatted(string) colorize? ? colored(string) : string end
logger()
click to toggle source
# File lib/n_1_finder/logger.rb, line 20 def logger @logger ||= N1Finder.logger end
message(n1_query)
click to toggle source
# File lib/n_1_finder/logger.rb, line 24 def message(n1_query) title = formatted('N+1 QUERY DETECTED:') query_title = formatted('QUERY:') line_title = formatted('LINE:') count_title = formatted('QUERIES COUNT:') queries_title = formatted('ORIGINAL QUERIES:') <<-MESSAGE.gsub(' ' * 6, '') #{title} #{query_title} #{n1_query.query} #{line_title} #{n1_query.line} #{count_title} #{n1_query.original_queries.count} #{queries_title} #{n1_query.original_queries.join("\n ")} MESSAGE end