Class: Honeybadger::TraceCleaner::ActiveRecord
- Defined in:
- lib/honeybadger/trace.rb
Constant Summary collapse
- Schema =
"SCHEMA".freeze
- SchemaMigrations =
/schema_migrations/.freeze
- EscapedQuotes =
/(\\"|\\')/.freeze
- SQuotedData =
/'(?:[^']|'')*'/.freeze
- DQuotedData =
/"(?:[^"]|"")*"/.freeze
- NumericData =
/\b\d+\b/.freeze
- Newline =
/\n/.freeze
- Replacement =
"?".freeze
- EmptyReplacement =
"".freeze
- DoubleQuoters =
/(postgres|sqlite|postgis)/.freeze
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods inherited from Base
#initialize, #payload, #to_a, #to_h
Constructor Details
This class inherits a constructor from Honeybadger::TraceCleaner::Base
Instance Method Details
#render? ⇒ Boolean
173 174 175 |
# File 'lib/honeybadger/trace.rb', line 173 def render? event.payload[:name] != Schema && !event.payload[:sql].match(SchemaMigrations) end |
#to_s ⇒ Object
177 178 179 180 181 182 183 |
# File 'lib/honeybadger/trace.rb', line 177 def to_s return "Super long query" if event.payload[:sql].length > 1024 sql = event.payload[:sql] sql = sql.gsub(EscapedQuotes, EmptyReplacement).gsub(SQuotedData, Replacement) sql = sql.gsub(DQuotedData, Replacement) unless ::ActiveRecord::Base.connection_pool.spec.config[:adapter] =~ DoubleQuoters sql.gsub(NumericData, Replacement).gsub(Newline, EmptyReplacement).squeeze(' ') end |