Module: HttpClientGenerator::KeyTransformer

Defined in:
lib/http_client_generator/key_transformer.rb

Overview

:nodoc:

Class Method Summary collapse

Class Method Details

.deep_transform_keys(value, &block) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/http_client_generator/key_transformer.rb', line 7

def deep_transform_keys(value, &block)
  case value
  when Hash
    value.each_with_object({}) do |(key, hash_value), transformed|
      transformed[yield(key)] = deep_transform_keys(hash_value, &block)
    end
  when Array
    value.map { |item| deep_transform_keys(item, &block) }
  else
    value
  end
end