class Recursivar::Heap::Value
Attributes
callees[R]
obj[R]
values[R]
Public Class Methods
new(obj)
click to toggle source
# File lib/recursivar/heap.rb, line 8 def initialize(obj) @obj = obj @values = {} @callees = nil end
Public Instance Methods
add_callee(callee, level)
click to toggle source
# File lib/recursivar/heap.rb, line 32 def add_callee(callee, level) (@callees ||= {})[level] = callee end
inspect()
click to toggle source
# File lib/recursivar/heap.rb, line 14 def inspect @inspect ||= "#{klass}:#{@obj.object_id}" end
klass()
click to toggle source
# File lib/recursivar/heap.rb, line 18 def klass @klass ||= @obj.class end
ref_instance_variables(heap)
click to toggle source
# File lib/recursivar/heap.rb, line 22 def ref_instance_variables(heap) return if @referred @referred = true obj.instance_variables.each do |name| value = obj.instance_variable_get(name) @values[name] = heap.ref(value) end end