lib/cistern/hash.rb in cistern-0.7.1 vs lib/cistern/hash.rb in cistern-0.8.0
- old
+ new
@@ -1,7 +1,18 @@
class Cistern::Hash
def self.slice(hash, *keys)
{}.tap do |sliced|
- keys.each{|k| sliced[k]= hash[k] if hash.key?(k)}
+ keys.each{ |k| sliced[k] = hash[k] if hash.key?(k) }
+ end
+ end
+
+ def self.stringify_keys(object)
+ case object
+ when Hash
+ object.inject({}){|r,(k,v)| r.merge(k.to_s => stringify_keys(v))}
+ when Array
+ object.map{|v| stringify_keys(v) }
+ else
+ object
end
end
end