module OneApm::Agent::Datastore::Mongo::Obfuscator

Constants

OA_WHITELIST

Public Class Methods

obfuscate_statement(source, whitelist=OA_WHITELIST) click to toggle source
# File lib/one_apm/agent/datastore/mongo/obfuscator.rb, line 11
def self.obfuscate_statement(source, whitelist=OA_WHITELIST)
  obfuscated = {}
  source.each do |key, value|
    if whitelist.include?(key)
      obfuscated[key] = value
    else
      obfuscated[key] = obfuscate_value(value, whitelist)
    end
  end

  obfuscated
end
obfuscate_value(value, whitelist) click to toggle source
# 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