Skip to content

Commit c201b2d

Browse files
committed
Fix handy methods in Hash core_ext
1 parent d8a81aa commit c201b2d

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

lib/fancybox2/core_ext/hash.rb

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,4 +188,27 @@ def _deep_transform_keys_in_object!(object, &block)
188188
object
189189
end
190190
end
191+
192+
# support methods for deep transforming nested hashes and arrays
193+
def _deep_transform_values_in_object(object, &block)
194+
case object
195+
when Hash
196+
object.transform_values { |value| _deep_transform_values_in_object(value, &block) }
197+
when Array
198+
object.map { |e| _deep_transform_values_in_object(e, &block) }
199+
else
200+
yield(object)
201+
end
202+
end
203+
204+
def _deep_transform_values_in_object!(object, &block)
205+
case object
206+
when Hash
207+
object.transform_values! { |value| _deep_transform_values_in_object!(value, &block) }
208+
when Array
209+
object.map! { |e| _deep_transform_values_in_object!(e, &block) }
210+
else
211+
yield(object)
212+
end
213+
end
191214
end

0 commit comments

Comments
 (0)