# File lib/mime/types.rb, line 318
318:       def from_hash(hash) #:yields MIME::Type.new:
319:         type = {}
320:         hash.each_pair do |k, v| 
321:           type[k.to_s.tr('-A-Z', '_a-z').to_sym] = v
322:         end
323: 
324:         m = MIME::Type.new(type[:content_type]) do |t|
325:           t.extensions  = type[:extensions]
326:           t.encoding    = type[:content_transfer_encoding]
327:           t.system      = type[:system]
328:           t.obsolete    = type[:obsolete]
329:           t.docs        = type[:docs]
330:           t.url         = type[:url]
331:           t.registered  = type[:registered]
332:         end
333: 
334:         yield m if block_given?
335:         m
336:       end