99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
# File 'lib/zerg_xcode/objects/xcode_object.rb', line 99
def visit_value(parent, key, value, &accept)
visit_parent = (parent == @attrs) ? self : parent
recurse = yield self, visit_parent, key, value
return if recurse == false
if recurse != true
value = recurse
parent[key] = recurse
end
case value
when ZergXcode::XcodeObject
value.visit(&accept)
when Hash
visit_hash(value, &accept)
when Array
visit_array(value, &accept)
end
value
end
|