Sha256: e2f2c6ea8d1f4b799a32fbc4cc0f4f8ad0dcc47a38385b9aaf8d2884df7f9825
Contents?: true
Size: 753 Bytes
Versions: 12
Compression:
Stored size: 753 Bytes
Contents
module Honeybadger module Util class SQL EscapedQuotes = /(\\"|\\')/.freeze SQuotedData = /'(?:[^']|'')*'/.freeze DQuotedData = /"(?:[^"]|"")*"/.freeze NumericData = /\b\d+\b/.freeze Newline = /\n/.freeze Replacement = "?".freeze EmptyReplacement = "".freeze DoubleQuoters = /(postgres|sqlite|postgis)/.freeze def self.obfuscate(sql, adapter) sql.dup.tap do |s| s.gsub!(EscapedQuotes, EmptyReplacement) s.gsub!(SQuotedData, Replacement) s.gsub!(DQuotedData, Replacement) if adapter =~ DoubleQuoters s.gsub!(NumericData, Replacement) s.gsub!(Newline, EmptyReplacement) s.squeeze!(' ') end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems