# File lib/dbi/columninfo.rb, line 37
37:         def initialize(hash=nil)
38:             @hash = hash.dup rescue nil
39:             @hash ||= Hash.new
40: 
41:             # coerce all strings to symbols
42:             @hash.each_key do |x|
43:                 if x.kind_of? String
44:                     sym = x.to_sym
45:                     if @hash.has_key? sym
46:                         raise ::TypeError, 
47:                             "#{self.class.name} may construct from a hash keyed with strings or symbols, but not both" 
48:                     end
49:                     @hash[sym] = @hash[x]
50:                     @hash.delete(x)
51:                 end
52:             end
53: 
54:             super(@hash)
55:         end