# File lib/mime/types.rb, line 275
275:       def from_array(*args) #:yields MIME::Type.new:
276:         # Dereferences the array one level, if necessary.
277:         args = args[0] if args[0].kind_of?(Array)
278: 
279:         if args.size.between?(1, 8)
280:           m = MIME::Type.new(args[0]) do |t|
281:             t.extensions  = args[1] if args.size > 1
282:             t.encoding    = args[2] if args.size > 2
283:             t.system      = args[3] if args.size > 3
284:             t.obsolete    = args[4] if args.size > 4
285:             t.docs        = args[5] if args.size > 5
286:             t.url         = args[6] if args.size > 6
287:             t.registered  = args[7] if args.size > 7
288:           end
289:           yield m if block_given?
290:         else
291:           raise ArgumentError, "Array provided must contain between one and eight elements."
292:         end
293:         m
294:       end