class Lumberjack::Formatter::StructuredFormatter
def call_with_references(obj, references)
def call_with_references(obj, references) if obj.is_a?(Hash) with_object_reference(obj, references) do hash = {} obj.each do |name, value| value = call_with_references(value, references) hash[name.to_s] = value unless value.is_a?(RecusiveReferenceError) end hash end elsif obj.is_a?(Enumerable) && obj.respond_to?(:size) && obj.size != Float::INFINITY with_object_reference(obj, references) do array = [] obj.each do |value| value = call_with_references(value, references) array << value unless value.is_a?(RecusiveReferenceError) end array end elsif @formatter @formatter.format(obj) else obj end end