Class: MultiMime::Adapters::MimeType

Inherits:
MultiMime::Adapter show all
Defined in:
lib/multi_mime/adapters/mime_type.rb

Overview

Use the Mime::Type library

Instance Method Summary collapse

Methods inherited from MultiMime::Adapter

type_for, type_for_extension, type_for_file, type_for_path

Instance Method Details

#type_for(mime_type, opts = {}) ⇒ Object



7
8
9
# File 'lib/multi_mime/adapters/mime_type.rb', line 7

def type_for(mime_type, opts = {})
  ::Mime::Type.parse_data_with_trailing_star(mime_type).first || MultiMime::NullType.new
end

#type_for_extension(extension, opts = {}) ⇒ Object



11
12
13
14
# File 'lib/multi_mime/adapters/mime_type.rb', line 11

def type_for_extension(extension, opts = {})
  extension = extension[/(?:.*\.)(.*$)/, 1] if extension.include?('.') # requires just the extension, without the dot
  ::Mime::Type.lookup_by_extension(extension) || MultiMime::NullType.new
end

#type_for_file(file, opts = {}) ⇒ Object



20
21
22
# File 'lib/multi_mime/adapters/mime_type.rb', line 20

def type_for_file(file, opts = {})
  type_for_extension(File.extname(file))
end

#type_for_path(path, opts = {}) ⇒ Object



16
17
18
# File 'lib/multi_mime/adapters/mime_type.rb', line 16

def type_for_path(path, opts = {})
  type_for_extension(File.extname(path))
end