# File lib/mime/types.rb, line 371
      def from_hash(hash) #:yields MIME::Type.new:
        type = {}
        hash.each_pair do |k, v| 
          type[k.to_s.tr('A-Z', 'a-z').gsub(/-/, '_').to_sym] = v
        end

        m = MIME::Type.new(type[:content_type]) do |t|
          t.extensions  = type[:extensions]
          t.encoding    = type[:content_transfer_encoding]
          t.system      = type[:system]
          t.obsolete    = type[:obsolete]
          t.docs        = type[:docs]
          t.url         = type[:url]
          t.registered  = type[:registered]
        end

        yield m if block_given?
        m
      end