Class: Raven::Processor::RemoveCircularReferences
- Inherits:
-
Raven::Processor
- Object
- Raven::Processor
- Raven::Processor::RemoveCircularReferences
- Defined in:
- lib/raven/processor/removecircularreferences.rb
Instance Method Summary collapse
Methods inherited from Raven::Processor
Constructor Details
This class inherits a constructor from Raven::Processor
Instance Method Details
#process(v, visited = []) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/raven/processor/removecircularreferences.rb', line 4 def process(v, visited = []) return "(...)" if visited.include?(v.__id__) visited += [v.__id__] if v.is_a?(Hash) v.reduce({}) { |memo, (k, v_)| memo[k] = process(v_, visited); memo } elsif v.is_a?(Array) v.map { |v_| process(v_, visited) } else v end end |