Module: Colppy::Core::Hash

Extended by:
Hash
Included in:
Hash
Defined in:
lib/colppy/core/support/hash.rb

Overview

Colppy::Core::Hash.snakecase_keys(value)

Instance Method Summary collapse

Instance Method Details

#snakecase_keys(value) ⇒ Object

Recursively converts CamelCase and camelBack JSON-style hash keys to Rubyish snake_case, suitable for use during instantiation of Ruby model attributes.



13
14
15
16
17
18
19
20
21
22
# File 'lib/colppy/core/support/hash.rb', line 13

def snakecase_keys(value)
  case value
  when(Array)
    value.map { |v| snakecase_keys(v) }
  when(::Hash)
    snake_hash(value)
  else
    value
  end
end