lib/refinements/hashes.rb in refinements-7.9.0 vs lib/refinements/hashes.rb in refinements-7.10.0
- old
+ new
@@ -38,10 +38,18 @@
def flatten_keys! prefix: nil, delimiter: "_", cast: :to_sym
replace flatten_keys(prefix: prefix, delimiter: delimiter, cast: cast)
end
+ def stringify_keys
+ reduce({}) { |hash, (key, value)| hash.merge key.to_s => value }
+ end
+
+ def stringify_keys!
+ replace stringify_keys
+ end
+
def symbolize_keys
reduce({}) { |hash, (key, value)| hash.merge key.to_sym => value }
end
def symbolize_keys!
@@ -60,9 +68,17 @@
end
end
def deep_merge! other
replace deep_merge(other)
+ end
+
+ def deep_stringify_keys
+ recurse(&:stringify_keys)
+ end
+
+ def deep_stringify_keys!
+ replace deep_stringify_keys
end
def deep_symbolize_keys
recurse(&:symbolize_keys)
end