Module: Appsignal::Utils

Defined in:
lib/appsignal/utils.rb

Class Method Summary collapse

Class Method Details

.sanitize(params, only_top_level = false) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/appsignal/utils.rb', line 3

def self.sanitize(params, only_top_level=false)
  if params.is_a?(Hash)
    {}.tap do |hsh|
      params.each do |key, val|
        hsh[key] = only_top_level ? '?' : sanitize(val, only_top_level)
      end
    end
  elsif params.is_a?(Array)
    if only_top_level
      sanitize(params[0], only_top_level)
    elsif params.first.is_a?(String)
      ['?']
    else
      params.map do |item|
        sanitize(item, only_top_level)
      end
    end
  else
    '?'
  end
end