Class: SqlFootprint::SqlAnonymizer

Inherits:
Object
  • Object
show all
Defined in:
lib/sql_footprint/sql_anonymizer.rb

Constant Summary collapse

GSUBS =
{
  /\sIN\s\((.*)\)/ => ' IN (values-redacted)'.freeze, # IN clauses
  /\s\=\s([0-9]+)/ => ' = number-redacted'.freeze, # numbers
  /\s'(.*)\'/ => " 'value-redacted'".freeze, # literal strings
}.freeze

Instance Method Summary collapse

Instance Method Details

#anonymize(sql) ⇒ Object



9
10
11
12
13
# File 'lib/sql_footprint/sql_anonymizer.rb', line 9

def anonymize sql
  GSUBS.reduce(sql) do |s, (regex, replacement)|
    s.gsub regex, replacement
  end
end