Class: MultiMime::Adapters::RackMime

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

Overview

Use the Rack::Mime 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
10
# File 'lib/multi_mime/adapters/rack_mime.rb', line 7

def type_for(mime_type, opts = {})
  type = ::Rack::Mime::MIME_TYPES.key(mime_type) # Rack::Mime actually doesnt allow you to simply verify that a mime type exists
  type ? mime_type : MultiMime::NullType.new
end

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



12
13
14
15
# File 'lib/multi_mime/adapters/rack_mime.rb', line 12

def type_for_extension(extension, opts = {})
  extension.insert(0, '.') unless extension[0] == '.' # requires the extension with a dot
  ::Rack::Mime.mime_type(extension, MultiMime::NullType.new) # set the fallback to nil
end

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



21
22
23
# File 'lib/multi_mime/adapters/rack_mime.rb', line 21

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

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



17
18
19
# File 'lib/multi_mime/adapters/rack_mime.rb', line 17

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