Module: RmsApiRuby::HashKeysUnderscorable

Included in:
Chain::HttpClient
Defined in:
lib/rms_api_ruby/utility/hash_keys_underscorable.rb

Instance Method Summary collapse

Instance Method Details

#snake_keys(hash) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/rms_api_ruby/utility/hash_keys_underscorable.rb', line 5

def snake_keys(hash)
  return nil if hash.nil?
  hash.each_with_object({}) do |(key, val), acc|
    if val.is_a?(Array)
      val = val.map { |v| to_snake_keys(v) }
    elsif val.is_a?(Hash)
      val = snake_keys(val)
    end
    acc[snake_key(key)] = val
  end
end