class Castle::Utils::Merge
Public Class Methods
call(base, extra)
click to toggle source
# File lib/castle/utils/merge.rb, line 6 def self.call(base, extra) base_s = Castle::Utils::DeepSymbolizeKeys.call(base) extra_s = Castle::Utils::DeepSymbolizeKeys.call(extra) extra_s.each do |name, value| if value.nil? base_s.delete(name) elsif value.is_a?(Hash) && base_s[name].is_a?(Hash) base_s[name] = call(base_s[name], value) else base_s[name] = value end end base_s end