from ruby facets:
class Hash
def update_keys #:yield:
if block_given?
each{ |k,v| delete(k) ; store(yield(k), v) }
else
to_enum(:update_keys)
end
end
def key_downcase!
self.update_keys{|k| k.to_s.downcase}
end
end