class Hash

Public Instance Methods

deep_symbolize_keys() click to toggle source

Implement this method because only is supported by > Rails 4, so if you want use only ruby, this will help. :)

# File lib/snoopy_afip/core_ext/hash.rb, line 25
def deep_symbolize_keys
  return self.reduce({}) do |memo, (k, v)|
    memo.tap { |m| m[k.to_sym] = (v.is_a?(Hash) || v.is_a?(Array)) ? v.deep_symbolize_keys : v }
  end if self.is_a? Hash
  return self.reduce([]) do |memo, v|
    memo << v.deep_symbolize_keys; memo
  end if self.is_a? Array
  self
end
symbolize_keys() click to toggle source
# File lib/snoopy_afip/core_ext/hash.rb, line 9
def symbolize_keys
  dup.symbolize_keys!
end
symbolize_keys!() click to toggle source
# File lib/snoopy_afip/core_ext/hash.rb, line 2
def symbolize_keys!
  keys.each do |key|
    self[(key.to_sym rescue key) || key] = delete(key)
  end
  self
end
underscore_keys() click to toggle source
# File lib/snoopy_afip/core_ext/hash.rb, line 20
def underscore_keys
  dup.underscore_keys!
end
underscore_keys!() click to toggle source
# File lib/snoopy_afip/core_ext/hash.rb, line 13
def underscore_keys!
  keys.each do |key|
    self[(key.underscore rescue key) || key] = delete(key)
  end
  self
end