lib/refinements/hashes.rb in refinements-5.0.2 vs lib/refinements/hashes.rb in refinements-5.1.0
- old
+ new
@@ -15,32 +15,27 @@
def symbolize_keys
dup.symbolize_keys!
end
- # rubocop:disable Performance/HashEachMethods
def symbolize_keys!
keys.each { |key| self[key.to_sym] = delete key }
self
end
- # rubocop:enable Performance/HashEachMethods
def deep_merge other
dup.deep_merge! other
end
+ # :reek:FeatureEnvy
def deep_merge! other
- other.each do |(other_key, other_value)|
- current_value = self[other_key]
-
- self[other_key] = if current_value.is_a?(Hash) && other_value.is_a?(Hash)
- current_value.deep_merge! other_value
- else
- other_value
- end
+ merge! other do |_key, this_value, other_value|
+ if this_value.is_a?(Hash) && other_value.is_a?(Hash)
+ this_value.deep_merge other_value
+ else
+ other_value
+ end
end
-
- self
end
def reverse_merge other
other.merge self
end