class SqlReporter::Reporters::LogReporter
Constants
- EXTENSION
- HEADERS
Attributes
lines[R]
Public Class Methods
new(file, disable_console = false)
click to toggle source
# File lib/sql_reporter/reporters/log_reporter.rb, line 65 def initialize(file, disable_console = false) @file = File.open(file, "w") @console_disabled = disable_console end
Protected Instance Methods
after_generate_report()
click to toggle source
# File lib/sql_reporter/reporters/log_reporter.rb, line 37 def after_generate_report io.close end
before_decreases()
click to toggle source
# File lib/sql_reporter/reporters/log_reporter.rb, line 45 def before_decreases print_header('Count Decreases') end
before_generate_report()
click to toggle source
# File lib/sql_reporter/reporters/log_reporter.rb, line 33 def before_generate_report @lines = [] end
before_gone()
click to toggle source
# File lib/sql_reporter/reporters/log_reporter.rb, line 49 def before_gone print_header('Gone') end
before_increases()
click to toggle source
# File lib/sql_reporter/reporters/log_reporter.rb, line 41 def before_increases print_header('Count Increases') end
before_spawned()
click to toggle source
# File lib/sql_reporter/reporters/log_reporter.rb, line 53 def before_spawned print_header('Spawned') end
before_summary()
click to toggle source
# File lib/sql_reporter/reporters/log_reporter.rb, line 57 def before_summary io.write("################## SUMMARY #####################\n\n") end
close()
click to toggle source
# File lib/sql_reporter/reporters/log_reporter.rb, line 75 def close file.close end
generate_query_line(diff)
click to toggle source
# File lib/sql_reporter/reporters/log_reporter.rb, line 29 def generate_query_line(diff) lines << [diff.query_name, "#{diff.master.count} -> #{diff.feature.count}", "#{diff.master.cached_count} -> #{diff.feature.cached_count}", "#{diff.master.duration_formatted} -> #{diff.feature.duration_formatted}"] end
generate_summary(totals, **kwargs)
click to toggle source
# File lib/sql_reporter/reporters/log_reporter.rb, line 15 def generate_summary(totals, **kwargs) table = TTY::Table.new(HEADERS, lines).render( :ascii, column_widths: [100, 40, 40, 40], multiline: true, resize: true, ) io.write(table) io.write("Queries reduced: #{kwargs[:reduced]}\n") if kwargs.key? :reduced io.write("Queries spawned: #{kwargs[:spawned]}\n") if kwargs.key? :spawned io.write(totals.summary) @lines = [] end
setup_io()
click to toggle source
# File lib/sql_reporter/reporters/log_reporter.rb, line 61 def setup_io @io = Class.new do attr_reader :file, :console_disabled def initialize(file, disable_console = false) @file = File.open(file, "w") @console_disabled = disable_console end def write(content) file.write(content) STDOUT.write(content) unless console_disabled end def close file.close end end.new(output_file, disable_console) end
write(content)
click to toggle source
# File lib/sql_reporter/reporters/log_reporter.rb, line 70 def write(content) file.write(content) STDOUT.write(content) unless console_disabled end
Private Instance Methods
print_header(header_name)
click to toggle source
# File lib/sql_reporter/reporters/log_reporter.rb, line 83 def print_header(header_name) io.write("SQL #{header_name} between #{fname0} -> #{fname1}\n") io.write("##########################################################\n") end