Module: HashMethods

Defined in:
mygame/lib/sprite_kit/hash_methods.rb

Overview

Class Method Summary collapse

Class Method Details

.stringify_keys(hash) ⇒ Object



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

def self.stringify_keys(hash)
  h = hash.map do |k,v|
    v_str = if v.instance_of? Hash
              self.stringify_keys(v)
            elsif v.instance_of? Array
              v.map { |item| self.stringify_keys(item) }
            else
              v
            end

    [k.to_s, v_str]
  end
  Hash[h]
end

.symbolize_keys(hash) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'mygame/lib/sprite_kit/hash_methods.rb', line 20

def self.symbolize_keys(hash)
  h = hash.map do |k,v|
    v_sym = if v.instance_of? Hash
              self.symbolize_keys(v)
            elsif v.instance_of? Array
              v.map { |item| self.symbolize_keys(item) }
            else
              v
            end

    [k.respond_to?(:to_sym) ? k.to_sym : k, v_sym]
  end
  Hash[h]
end