fix folded array bug by using object_id, fix ref bug but only counting first

This commit is contained in:
Torsten Ruger
2014-08-21 15:21:20 +03:00
parent 9608e5f626
commit 0677069fc0
3 changed files with 16 additions and 10 deletions

View File

@@ -14,15 +14,20 @@ module Sof
def add object , level
return if is_value?(object)
if( occurence = @objects[object] )
if( occurence = @objects[object.object_id] )
#puts "reset level #{level} at #{occurence.level}"
occurence.level = level if occurence.level > level
occurence.referenced = @counter
@counter = @counter + 1
if occurence.level > level
occurence.level = level
end
unless occurence.referenced
#puts "referencing #{@counter} , at level #{level}/#{occurence.level} "
occurence.referenced = @counter
@counter = @counter + 1
end
return
end
o = Occurence.new( object , level )
@objects[object] = o
@objects[object.object_id] = o
attributes = attributes_for(object)
attributes.each do |a|
val = get_value( object , a)