Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/beyond_api/ext.rb

Instance Method Summary collapse

Instance Method Details

#camelize_keysObject


19
20
21
# File 'lib/beyond_api/ext.rb', line 19

def camelize_keys
  deep_transform_keys { |key| key.to_s.camelize(false) }
end

#deep_transform_keys(&block) ⇒ Object


4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/beyond_api/ext.rb', line 4

def deep_transform_keys(&block)
  result = {}
  each do |key, value|
    result[yield(key)] = case value
    when Hash
      value.deep_transform_keys(&block)
    when Array
      value.camelize_keys
    else
      value
    end
  end
  result
end

#underscorize_keysObject


23
24
25
# File 'lib/beyond_api/ext.rb', line 23

def underscorize_keys
  deep_transform_keys { |key| key.to_s.underscore }
end