module SymbolizeHelper

Class to deep symbolize keys in a Hash and Array of Hashes

Code written by EdvardM at: apidock.com/rails/Hash/deep_symbolize_keys

Public Instance Methods

symbolize_recursive(hash) click to toggle source
# File lib/gimme_wikidata/extensions.rb, line 8
def symbolize_recursive(hash)
  {}.tap do |h|
    hash.each { |key, value| h[key.to_sym] = transform(value) }
  end
end

Private Instance Methods

deep_symbolize_keys() click to toggle source
# File lib/gimme_wikidata/extensions.rb, line 25
def deep_symbolize_keys
  SymbolizeHelper.symbolize_recursive(self)
end
transform(thing) click to toggle source
# File lib/gimme_wikidata/extensions.rb, line 16
def transform(thing)
  case thing
  when Hash; symbolize_recursive(thing)
  when Array; thing.map { |v| transform(v) }
  else; thing
  end
end