MIME::MediaType
A MediaType describes a MIME content type with optional parameters.
Constructors
Creates a new MediaType instance.
Parses a MIME type string representation including any optional parameters,
per RFC 1521.
Media types are the values in Content-Type and Content-Disposition HTTP
headers (RFC 2183).
Media type is lowercased and trimmed of whitespace. Param keys are lowercased.
Raises MIME::Error on error.
Class methods
Parses a MIME type string representation including any optional parameters,
per RFC 1521.
Media types are the values in Content-Type and Content-Disposition HTTP
headers (RFC 2183).
Media type is lowercased and trimmed of whitespace. Param keys are lowercased.
Returns nil on error.
Instance methods
Returns the value for the parameter given by key. If not found, raises KeyError.
require "mime/media_type"
MIME::MediaType.parse("text/plain; charset=UTF-8")["charset"] # => "UTF-8"
MIME::MediaType.parse("text/plain; charset=UTF-8")["foo"] # raises KeyError
Sets the value of parameter key to the given value.
require "mime/media_type"
mime_type = MIME::MediaType.parse("x-application/example")
mime_type["foo"] = "bar"
mime_type["foo"] # => "bar"
Returns the value for the parameter given by key. If not found, returns nil.
require "mime/media_type"
MIME::MediaType.parse("text/plain; charset=UTF-8")["charset"]? # => "UTF-8"
MIME::MediaType.parse("text/plain; charset=UTF-8")["foo"]? # => nil
Returns an iterator over the parameter which behaves like an Iterator returning a Tuple of key and value.
Returns the value for the parameter given by key, or when not found the value given by default.
require "mime/media_type"
MIME::MediaType.parse("x-application/example").fetch("foo", "baz") # => "baz"
MIME::MediaType.parse("x-application/example; foo=bar").fetch("foo", "baz") # => "bar"
Returns the value for the parameter given by key, or when not found calls the given block with the key.
require "mime/media_type"
MIME::MediaType.parse("x-application/example").fetch("foo") { |key| key } # => "foo"
MIME::MediaType.parse("x-application/example; foo=bar").fetch("foo") { |key| key } # => "bar"
Second component of media_type or nil.
require "mime/media_type"
MIME::MediaType.new("text/plain").sub_type # => "plain"
MIME::MediaType.new("foo").sub_type # => nil
First component of media_type.
require "mime/media_type"
MIME::MediaType.new("text/plain").type # => "text"
MIME::MediaType.new("foo").type # => "foo"