make to hash and array functions reusable for parfait

This commit is contained in:
Torsten Ruger 2015-05-20 10:41:05 +03:00
parent 217eda2436
commit b00f49ade6
2 changed files with 18 additions and 10 deletions

View File

@ -20,7 +20,7 @@ module Sof
long_out(io , level)
end
end
private
def short_out(io,level)
io.write("[")
@ -39,13 +39,18 @@ module Sof
end
end
end
end
Array.class_eval do
def to_sof_node(writer , level , ref )
def self.array_to_sof_node(array , writer , level , ref )
node = Sof::ArrayNode.new(ref)
each do |object|
array.each do |object|
node.add writer.to_sof_node( object , level + 1)
end
node
end
end
Array.class_eval do
def to_sof_node(writer , level , ref )
Sof.array_to_sof_node(self , writer , level , ref )
end
end

View File

@ -44,17 +44,20 @@ module Sof
end
end
end
end
Hash.class_eval do
def to_sof_node(writer , level , ref)
def self.hash_to_sof_node(hash,writer , level , ref)
node = Sof::HashNode.new(ref)
each do |key , object|
hash.each do |key , object|
k = writer.to_sof_node( key ,level + 1)
v = writer.to_sof_node( object ,level +1)
v = writer.to_sof_node( object ,level + 1)
node.add(k , v)
end
node
end
end
Hash.class_eval do
def to_sof_node(writer , level , ref)
Sof.hash_to_sof_node( self , writer , level , ref)
end
end