class Behave::Utils

Public Class Methods

symbolize_keys(hash) click to toggle source
# File lib/behave.rb, line 158
def self.symbolize_keys(hash)
  hash.inject({}) do |memo, (k,v)|
    if v.kind_of? Hash
      memo[k.to_sym] = symbolize_keys v
    elsif v.kind_of? Array
      memo[k.to_sym] = v.map {|x| x.kind_of?(Hash) ? symbolize_keys(x) : x}
    else
      memo[k.to_sym] = v
    end
    memo
  end
end
symbolize_keys!(hash) click to toggle source
# File lib/behave.rb, line 171
def self.symbolize_keys!(hash)
  hash.each_key do |key|
    val = hash[key]
    if val.kind_of? Hash
      symbolize_keys! val
    elsif val.kind_of? Array
      val.each {|x| symbolize_keys!(x) if x.kind_of?(Hash) }
    else
      hash[key.to_sym] = hash.delete[key]
    end     
  end
end