Module: SqlFootprint

Defined in:
lib/sql_footprint.rb,
lib/sql_footprint/version.rb,
lib/sql_footprint/sql_filter.rb,
lib/sql_footprint/sql_anonymizer.rb

Defined Under Namespace

Classes: SqlAnonymizer, SqlFilter

Constant Summary collapse

FILENAME =
'footprint.sql'.freeze
NEWLINE =
"\n".freeze
VERSION =
'0.6.1'.freeze

Class Method Summary collapse

Class Method Details

.capture(sql) ⇒ Object



39
40
41
42
# File 'lib/sql_footprint.rb', line 39

def capture sql
  return unless @capture && @filter.capture?(sql)
  @lines << @anonymizer.anonymize(sql)
end

.excludeObject



28
29
30
31
32
33
# File 'lib/sql_footprint.rb', line 28

def exclude
  @capture = false
  yield
ensure
  @capture = true
end

.linesObject



35
36
37
# File 'lib/sql_footprint.rb', line 35

def lines
  @lines.sort
end

.startObject



16
17
18
19
20
21
# File 'lib/sql_footprint.rb', line 16

def start
  @anonymizer = SqlAnonymizer.new
  @filter     = SqlFilter.new
  @capture    = true
  @lines      = Set.new
end

.stopObject



23
24
25
26
# File 'lib/sql_footprint.rb', line 23

def stop
  @capture = false
  File.write FILENAME, lines.join(NEWLINE) + NEWLINE
end