Module: OneApm::Agent::Datastore::Mongo::Obfuscator
- Defined in:
- lib/one_apm/agent/datastore/mongo/obfuscator.rb
Constant Summary collapse
- OA_WHITELIST =
[:operation].freeze
Class Method Summary collapse
- .obfuscate_statement(source, whitelist = OA_WHITELIST) ⇒ Object
- .obfuscate_value(value, whitelist) ⇒ Object
Class Method Details
.obfuscate_statement(source, whitelist = OA_WHITELIST) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/one_apm/agent/datastore/mongo/obfuscator.rb', line 11 def self.obfuscate_statement(source, whitelist=OA_WHITELIST) = {} source.each do |key, value| if whitelist.include?(key) [key] = value else [key] = obfuscate_value(value, whitelist) end end end |
.obfuscate_value(value, whitelist) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'lib/one_apm/agent/datastore/mongo/obfuscator.rb', line 24 def self.obfuscate_value(value, whitelist) if value.is_a?(Hash) obfuscate_statement(value, whitelist) elsif value.is_a?(Array) value.map {|v| obfuscate_value(v, whitelist)} else '?' end end |