Class: NotificationTracer::SqlFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/notification_tracer/sql_formatter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(prefix: nil) ⇒ SqlFormatter

Returns a new instance of SqlFormatter.



5
6
7
# File 'lib/notification_tracer/sql_formatter.rb', line 5

def initialize(prefix: nil)
  @prefix = ensure_non_empty_string(prefix) if prefix
end

Instance Attribute Details

#prefixObject (readonly)

Returns the value of attribute prefix.



3
4
5
# File 'lib/notification_tracer/sql_formatter.rb', line 3

def prefix
  @prefix
end

Instance Method Details

#call(stack:, sql:, duration:, uuid:) ⇒ Object



9
10
11
12
13
14
15
# File 'lib/notification_tracer/sql_formatter.rb', line 9

def call(stack:, sql:, duration:, uuid:)
  message  = "Matching Query"
  message  = "#{prefix} | #{message}" if prefix
  message += " | #{duration} ms | ##{uuid}"
  message += "\n ** SQL: " + sql.gsub("\n",'\n')
  ([message] + stack).join("\n  >>> ")
end