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