1
0
Fork 0
mirror of https://github.com/haml/haml.git synced 2022-11-09 12:33:31 -05:00
haml--haml/lib/haml/util.rb

21 lines
500 B
Ruby
Raw Normal View History

# This file contains various useful bits of code
# that are shared between Haml and Sass.
class Hash # :nodoc:
# Same as Hash#merge!,
# but recursively merges sub-hashes and arrays
def rec_merge!(other)
other.each do |key, value|
myval = self[key]
if value.is_a?(Hash) && myval.is_a?(Hash)
myval.rec_merge!(value)
elsif value.is_a?(Array) && myval.is_a?(Array)
myval.concat(value)
else
self[key] = value
end
end
self
end
end