# 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 blk.call(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