Class: StatfulClient::MyHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/client.rb

Overview

Custom Hash implementation to add a symbolize_keys method

Instance Method Summary collapse

Instance Method Details

#symbolize_keysHash

Recursively symbolize an Hash

Returns:

  • (Hash)

    the symbolized hash



302
303
304
305
306
307
308
309
310
311
312
313
# File 'lib/client.rb', line 302

def symbolize_keys
  symbolize = lambda do |h|
    Hash === h ?
      Hash[
        h.map do |k, v|
          [k.respond_to?(:to_sym) ? k.to_sym : k, symbolize[v]]
        end
      ] : h
  end

  symbolize[self]
end