Method: HashTools#transform_string_values_of
- Defined in:
- lib/hash_tools.rb
#transform_string_values_of(any, &transformer) ⇒ Object
Recursively convert string values in nested hashes and arrays using a passed block. The block will receive the String to transform and should return a transformed string.
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/hash_tools.rb', line 87 def transform_string_values_of(any, &transformer) case any when String transformer.call(any) when Array any.map { |e| transform_string_values_of(e, &transformer) } when Hash h = {} any.each_pair do |k, v| h[k] = transform_string_values_of(v, &transformer) end h else any end end |