class ActiveRecord::LogSubscriber

Public Instance Methods

sql_with_flog(event) click to toggle source
# File lib/flog/sql_formattable.rb, line 8
def sql_with_flog(event)
  return sql_without_flog(event) unless Flog::Status.enabled?

  formatted = format_sql(event.payload[:sql])

  shunt_payload_value(event.payload, :sql, "\n\t#{formatted}") do
    sql_without_flog(event)
  end
end

Private Instance Methods

format_sql(sql) click to toggle source
# File lib/flog/sql_formattable.rb, line 20
def format_sql(sql)
  return sql if sql.blank?

  require "anbt-sql-formatter/formatter"
  rule = AnbtSql::Rule.new
  rule.keyword = AnbtSql::Rule::KEYWORD_UPPER_CASE
  %w(count sum).each do |function_name|
    rule.function_names << function_name
  end
  rule.indent_string = "\t"
  AnbtSql::Formatter.new(rule).format(sql.squeeze(" "))
end