13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/new_relic/agent/attribute_processing.rb', line 13
def flatten_and_coerce(object, prefix = nil, result = {}, &blk)
if object.is_a?(Hash)
flatten_and_coerce_hash(object, prefix, result, &blk)
elsif object.is_a?(Array)
flatten_and_coerce_array(object, prefix, result, &blk)
elsif prefix
val = Coerce.scalar(object)
if blk
yield(prefix, val)
elsif !val.nil?
result[prefix] = val
end
else
NewRelic::Agent.logger.warn("Unexpected object: #{object.inspect} with nil prefix passed to NewRelic::Agent::AttributeProcessing.flatten_and_coerce")
end
result
end
|