module Naplug::Helpers::Hashes

Public Instance Methods

symbolify_keys(hash) click to toggle source
# File lib/naplug/helpers.rb, line 25
def symbolify_keys(hash)
  transform_hash(hash) {|h, key, value|
    h[key.to_sym] = value
  }
end
transform_hash(original, options={}, &block) click to toggle source

Thx Avdi Grimm! devblog.avdi.org/2009/11/20/hash-transforms-in-ruby/

# File lib/naplug/helpers.rb, line 13
def transform_hash(original, options={}, &block)
  original.inject({}){|result, (key,value)|
    value = if options[:deep] && Hash === value
              transform_hash(value, options, &block)
            else
              value
            end
    block.call(result,key,value)
    result
  }
end