module MIME::Types

Overview

MIME::Types is a registry of MIME types. It is both a class (created with MIME::Types.new) and a default registry (loaded automatically or through interactions with MIME::Types.[] and MIME::Types.type_for).

The Default mime-types Registry

The default mime-types registry is loaded automatically when the library is required (require "mime/types").

Usage

require "mime/types"

plaintext = MIME::Types["text/plain"]
print plaintext.media_type # => "text'
print plaintext.sub_type   # => "plain"

puts plaintext.extensions.join(" ") # => "asc txt c cc h hh cpp"

puts plaintext.encoding                    # => 8bit
puts plaintext.binary?                     # => false
puts plaintext.ascii?                      # => true
puts plaintext.obsolete?                   # => false
puts plaintext.registered?                 # => true
puts plaintext == "text/plain"             # => true
puts MIME::Type.simplified("x-appl/x-zip") # => "appl/zip"

Extended Modules

Defined in:

mime/types.cr

Class Method Summary

Macro Summary

Class Method Detail

def self.[](content_type, complete = false, registered = false) #

Returns a list of MIME::Type objects, which may be empty. The optional flag parameters are :complete (finds only complete MIME::Type objects) and :registered (finds only MIME::Types that are registered). It is possible for multiple matches to be returned for either type (in the example below, 'text/plain' returns two values -- one for the general case, and one for VMS systems).

MIME::Types["text/plain"].each { |t| puts t.to_a.join(", ") }

MIME::Types[/^image/, :complete => true].each do |t|
  puts t.to_a.join(", ")
end

[View source]
def self.count #

[View source]
def self.each #

[View source]
def self.each(&) #

[View source]
def self.extensions #

[View source]
def self.for_extension(ext : String) #

[View source]
def self.for_filename(filename : String) #

[View source]
def self.inspect(io) #

[View source]
def self.register(mime : Type) #

[View source]
def self.register(mimes : Array(Type)) #

[View source]
def self.register(*args) #

[View source]
def self.registered #

[View source]
def self.to_s(io) #

[View source]

Macro Detail

macro load(filename) #

[View source]