Method: OneApm::JSONWrapper.normalize

Defined in:
lib/one_apm/support/json_wrapper.rb

.normalize(object) ⇒ Object



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/one_apm/support/json_wrapper.rb', line 98

def self.normalize(object)
  case object
  when String
    normalize_string(object)
  when Symbol
    normalize_string(object.to_s)
  when Array
    return object if object.empty?
    object.map { |x| normalize(x) }
  when Hash
    return object if object.empty?
    hash = {}
    object.each_pair do |k, v|
      k = normalize_string(k)      if k.is_a?(String)
      k = normalize_string(k.to_s) if k.is_a?(Symbol)
      hash[k] = normalize(v)
    end
    hash
  else
    object
  end
end