class SqlQueryStats::Sanitizer

SqlQueryStats Sanitizer

Public Class Methods

filter_params(filters, sql) click to toggle source
# File lib/sql_query_stats/sanitizer.rb, line 11
def self.filter_params(filters, sql)
  filters.each do |filter|
    sql.gsub!(/`#{filter}` = '[^']+'/, "`#{filter}` = '[FILTERED]'")
  end

  sql
end
filter_values(sql) click to toggle source
# File lib/sql_query_stats/sanitizer.rb, line 19
def self.filter_values(sql)
  sql.gsub!(/(?:VALUES(?:\s?)\()(.*)(?:\)+)/, 'VALUES (?)')

  sql
end
sanitize(sql_query_string) click to toggle source
# File lib/sql_query_stats/sanitizer.rb, line 4
def self.sanitize(sql_query_string)
  filters = Rails.application.config.filter_parameters
  sql = sql_query_string.dup
  sql = filter_params(filters, sql)
  filter_values(sql)
end