42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/mofa/attributes_map.rb', line 42
def deep_parse(attr_hash, placeholder, content)
new_attr_hash = Marshal.load(Marshal.dump(attr_hash))
attr_hash.each do |key, value|
if value.is_a?(Hash)
new_attr_hash[key] = deep_parse(value, placeholder, content)
elsif value.is_a?(Array)
new_attr_hash[key] = []
value.each do |value_item|
new_attr_hash[key].push(value_item.gsub(Regexp.new(Regexp.escape(placeholder)), content))
end
else
new_attr_hash[key] = value.gsub(Regexp.new(Regexp.escape(placeholder)), content)
end
end
new_attr_hash
end
|