Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/ebmsharedlib/monkey_patches.rb

Overview

Greg Seitz

Copyright 2013, eBay Inc.
All rights reserved.
http://www.ebay.com

Instance Method Summary collapse

Instance Method Details

#recursively_symbolize_keys!Object

A method to recursively symbolize all keys in the Hash class lets you access keys via symbols such as :the_key instead of strings such as “the_key”



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/ebmsharedlib/monkey_patches.rb', line 13

def recursively_symbolize_keys!
  self.symbolize_keys!
  self.values.each do |v|
    if v.is_a? Hash
      v.recursively_symbolize_keys!
    elsif v.is_a? Array
      v.each do |a|
        a.recursively_symbolize_keys! if a.is_a? Hash
      end
    end
  end
  self
end

#symbolize_keys!Object



27
28
29
30
31
32
# File 'lib/ebmsharedlib/monkey_patches.rb', line 27

def symbolize_keys!
  keys.each do |key|
    self[(key.to_sym rescue key) || key] = delete(key)
  end
  self
end