class Honeybadger::Util::SQL
Constants
- DOUBLE_QUOTERS
- DQUOTE_DATA
- ESCAPE_QUOTES
- NUMBER_DATA
- SQUOTE_DATA
Public Class Methods
Source
# File lib/honeybadger/util/sql.rb, line 21 def self.force_utf_8(string) string.encode( Encoding.find("UTF-8"), invalid: :replace, undef: :replace, replace: "" ) end
Source
# File lib/honeybadger/util/sql.rb, line 10 def self.obfuscate(sql, adapter) force_utf_8(sql.to_s.dup).tap do |s| s.gsub!(/\s+/, " ") s.gsub!(ESCAPE_QUOTES, "".freeze) s.gsub!(SQUOTE_DATA, "'?'".freeze) s.gsub!(DQUOTE_DATA, '"?"'.freeze) unless adapter.to_s.match?(DOUBLE_QUOTERS) s.gsub!(NUMBER_DATA, "?".freeze) s.strip! end end