Method: ZergXcode::XcodeObject#visit_once

Defined in:
lib/zerg_xcode/objects/xcode_object.rb

#visit_once(&accept) ⇒ Object

Convenience method mapping over visit and exploring each object once.



87
88
89
90
91
92
93
94
# File 'lib/zerg_xcode/objects/xcode_object.rb', line 87

def visit_once(&accept)
  visited = Set.new([self])
  self.visit do |object, parent, key, value|
    visited << object
    next_value = yield object, parent, key, value
    visited.include?(value) ? false : next_value
  end
end