Sha256: dc171f4eb9dfa43a30b2fdfd5c4bd8b98a36648edf1098e490ec728fcb980844

Contents?: true

Size: 1.01 KB

Versions: 18

Compression:

Stored size: 1.01 KB

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.

module NewRelic
  module Agent
    module Datastores
      module Mongo
        module Obfuscator

          WHITELIST = [:operation].freeze

          def self.obfuscate_statement(source, whitelist = 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

          def self.obfuscate_value(value, whitelist = 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
        end
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 2 rubygems

Version Path
newrelic_rpm-3.18.0.329 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.17.2.327 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.17.1.326 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.17.0.325 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.16.3.323 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.16.2.321 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.16.1.320 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.16.0.318 lib/new_relic/agent/datastores/mongo/obfuscator.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/newrelic_rpm-3.15.2.317/lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.15.2.317 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.15.1.316 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.15.0.314 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.14.3.313 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.14.2.312 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.14.1.311 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.14.0.305 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.13.2.302 lib/new_relic/agent/datastores/mongo/obfuscator.rb
newrelic_rpm-3.13.1.300 lib/new_relic/agent/datastores/mongo/obfuscator.rb