Sha256: 4c1f4d0b05277cbb73bbaadcc4c23c4e2886e05f64ea3de5a4c5dca15459d4ba
Contents?: true
Size: 1.12 KB
Versions: 3
Compression:
Stored size: 1.12 KB
Contents
module Mailit module Mime module_function def mime_for(filename) detect_handler unless defined?(@mime_handler) send(@mime_handler, filename) end def detect_handler try_require('rubygems') if try_require('mime/types') @mime_handler = :from_mime_types elsif try_require('rack') and try_require('rack/mime') @mime_handler = :from_rack else require 'webrick/httputils' @webrick_types = WEBrick::HTTPUtils::DefaultMimeTypes.dup try_extend_webrick('/etc/mime.types') @mime_handler = :from_webrick end end def from_mime_types(filename) MIME::Types.type_for(filename) || 'application/octet-stream' end def from_rack(filename) Rack::Mime.mime_type(File.extname(filename)) end def from_webrick(filename) WEBrick::HTTPUtils.mime_type(filename, @webrick_types) end def try_extend_webrick(file) hash = WEBrick::HTTPUtils.load_mime_types(file) @webrick_types.merge!(hash) rescue end def try_require(lib) require lib true rescue LoadError end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
manveru-mailit-2009.06.08 | lib/mailit/mime.rb |
manveru-mailit-2009.08 | lib/mailit/mime.rb |
mailit-2009.08 | lib/mailit/mime.rb |