59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# File 'lib/uttk/loaders/Yaml.rb', line 59
def uttk_loader_yaml_transform
@type_id = nil unless defined? @type_id
t = nil
case @value
when Hash
t = Hash.new
if HAVE_YAML_TAGURI
@value.each do |k, v|
key_transform(t, k, v)
end
else
children_with_index.each do |v, k|
key_transform(t, k, v)
end
end
when Array
if not @value.empty? and @value.all? { |x| x.is_a? Hash and x.size == 1 }
t = OHash.new
@value.each do |x|
k, v = x.to_a
key_transform(t, k, v)
end
else
t = Array.new
@value.each do |v|
t.push v.uttk_loader_yaml_transform
end
end
when /^:"(.*)"/, /^:(.*)/
@type_id = nil
t = $1.to_sym
else
return transform
end
YAML.transfer(@type_id, t)
end
|