Class: GEPUB::Mime
- Inherits:
-
Object
- Object
- GEPUB::Mime
- Defined in:
- lib/gepub/mime.rb
Overview
Static Object to hold and operate with OEBPS data MIME types
Constant Summary collapse
- @@mime_types =
media types by file extension regexp seeds to mime types
{ '(html|xhtml)' => 'application/xhtml+xml', 'css' => 'text/css', 'js' => 'text/javascript', '(jpg|jpeg)' => 'image/jpeg', 'png' => 'image/png', 'gif' => 'image/gif', 'svg' => 'image/svg+xml', 'opf' => 'application/oebps-package+xml', 'ncx' => 'application/x-dtbncx+xml', '(otf|ttf|ttc|eot)' => 'application/vnd.ms-opentype', 'woff' => 'application/font-woff', 'mp4' => 'video/mp4', 'mp3' => 'audio/mpeg' }
Class Method Summary collapse
-
.add_mimetype(mediatypes) ⇒ Object
add new mediatype to @@mediatypes.
-
.compile_mime_types ⇒ Object
compile mime_types regexp.
-
.guess_mediatype(href) ⇒ Object
guess mediatype by mime type mask.
-
.mime_types ⇒ Object
return mime media types => mime types hash.
Class Method Details
.add_mimetype(mediatypes) ⇒ Object
add new mediatype to @@mediatypes
37 38 39 40 |
# File 'lib/gepub/mime.rb', line 37 def self.add_mimetype(mediatypes) mediatypes.each { |expr, mime| @@mime_types[expr] ||= mime } compile_mime_types end |
.compile_mime_types ⇒ Object
compile mime_types regexp
9 10 11 |
# File 'lib/gepub/mime.rb', line 9 def self.compile_mime_types @@mime_types_compiled = Hash[@@mime_types.map { |expr, mime| [ /\A\.#{expr}\Z/i, mime ] }] end |
.guess_mediatype(href) ⇒ Object
guess mediatype by mime type mask
43 44 45 46 |
# File 'lib/gepub/mime.rb', line 43 def self.guess_mediatype(href) ext = File.extname(href) @@mime_types_compiled.select { |pattern, _mime| ext =~ pattern }.values[0] end |
.mime_types ⇒ Object
return mime media types => mime types hash
32 33 34 |
# File 'lib/gepub/mime.rb', line 32 def self.mime_types @@mime_types end |