module Rack::Mime
Constants
- MIME_TYPES
List of most common mime-types, selected various sources according to their usefulness in a webserving scope for Ruby users.
To amend this list with your local mime.types list you can use:
require 'webrick/httputils' list = WEBrick::HTTPUtils.load_mime_types('/etc/mime.types') Rack::Mime::MIME_TYPES.merge!(list)
N.B. On Ubuntu the mime.types file does not include the leading period, so users may need to modify the data before merging into the hash.
To add the list mongrel provides, use:
require 'mongrel/handlers' Rack::Mime::MIME_TYPES.merge!(Mongrel::DirHandler::MIME_TYPES)
Public Class Methods
Returns String with mime type if found, otherwise use
fallback
. ext
should be filename extension in the
'.ext' format that
File.extname(file) returns.
fallback
may be any object
Also see the documentation for MIME_TYPES
Usage:
Rack::Mime.mime_type('.foo')
This is a shortcut for:
Rack::Mime::MIME_TYPES.fetch('.foo', 'application/octet-stream')
# File lib/rack/mime.rb, line 16 def mime_type(ext, fallback='application/octet-stream') MIME_TYPES.fetch(ext.to_s.downcase, fallback) end
Private Instance Methods
Returns String with mime type if found, otherwise use
fallback
. ext
should be filename extension in the
'.ext' format that
File.extname(file) returns.
fallback
may be any object
Also see the documentation for MIME_TYPES
Usage:
Rack::Mime.mime_type('.foo')
This is a shortcut for:
Rack::Mime::MIME_TYPES.fetch('.foo', 'application/octet-stream')
# File lib/rack/mime.rb, line 16 def mime_type(ext, fallback='application/octet-stream') MIME_TYPES.fetch(ext.to_s.downcase, fallback) end