class SqlReporter::Reporters::JsonReporter

Constants

EXTENSION

Attributes

body[R]
lines[R]
title[R]

Protected Instance Methods

after_generate_report() click to toggle source
# File lib/sql_reporter/reporters/json_reporter.rb, line 31
def after_generate_report
  io.write(body.to_json)
  io.close
end
before_decreases() click to toggle source
# File lib/sql_reporter/reporters/json_reporter.rb, line 40
def before_decreases
  @title = 'decreases'
end
before_generate_report() click to toggle source
# File lib/sql_reporter/reporters/json_reporter.rb, line 26
def before_generate_report
  @lines = []
  @body = {}
end
before_gone() click to toggle source
# File lib/sql_reporter/reporters/json_reporter.rb, line 44
def before_gone
  @title = 'gone'
end
before_increases() click to toggle source
# File lib/sql_reporter/reporters/json_reporter.rb, line 36
def before_increases
  @title = 'increases'
end
before_spawned() click to toggle source
# File lib/sql_reporter/reporters/json_reporter.rb, line 48
def before_spawned
  @title = 'spawned'
end
before_summary() click to toggle source
# File lib/sql_reporter/reporters/json_reporter.rb, line 52
def before_summary
  @title = 'total'
end
generate_query_line(diff) click to toggle source
# File lib/sql_reporter/reporters/json_reporter.rb, line 17
def generate_query_line(diff)
  hsh = {
    name: diff.query_name,
    count: {before: diff.master.count, after: diff.feature.count},
    duration: {before: diff.master.duration_formatted, after: diff.feature.duration_formatted}
  }
  lines << hsh
end
generate_summary(totals, **kwargs) click to toggle source
# File lib/sql_reporter/reporters/json_reporter.rb, line 10
def generate_summary(totals, **kwargs)
  hsh = { count_increase: totals.query_diff , duration_increase: totals.duration_diff.round(2) }
  hsh[:queries] = lines unless lines.empty?
  body[title] = hsh
  @lines = []
end