Class: SqlQueryStats::Sanitizer
- Inherits:
-
Object
- Object
- SqlQueryStats::Sanitizer
- Defined in:
- lib/sql_query_stats/sanitizer.rb
Overview
SqlQueryStats Sanitizer
Class Method Summary collapse
- .filter_params(filters, sql) ⇒ Object
- .filter_values(sql) ⇒ Object
- .sanitize(sql_query_string) ⇒ Object
Class Method Details
.filter_params(filters, sql) ⇒ Object
11 12 13 14 15 16 17 |
# 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) ⇒ Object
19 20 21 |
# File 'lib/sql_query_stats/sanitizer.rb', line 19 def self.filter_values(sql) sql.gsub!(/(?:VALUES(?:\s?)\()(.*)(?:\)+)/, 'VALUES(?)') end |
.sanitize(sql_query_string) ⇒ Object
4 5 6 7 8 9 |
# 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 |