Class: FontAssets::MimeTypes

Inherits:
Object
  • Object
show all
Defined in:
lib/font_assets/mime_types.rb

Constant Summary collapse

DEFAULT_TYPE =
'application/octet-stream'
MIME_TYPES =
{
  '.eot' => 'application/vnd.ms-fontobject',
  '.svg' => 'image/svg+xml',
  '.ttf' => 'application/x-font-ttf',
  '.otf' => 'application/x-font-otf',
  '.woff' => 'application/x-font-woff'
}

Instance Method Summary collapse

Constructor Details

#initialize(types, default = DEFAULT_TYPE.dup) ⇒ MimeTypes

Returns a new instance of MimeTypes.



12
13
14
15
16
17
18
19
# File 'lib/font_assets/mime_types.rb', line 12

def initialize(types, default = DEFAULT_TYPE.dup)
  @types = types.dup
  @default = default

  MIME_TYPES.each_pair do |extension, type|
    set extension, type
  end
end

Instance Method Details

#[](extension) ⇒ Object



21
22
23
# File 'lib/font_assets/mime_types.rb', line 21

def [](extension)
  @types.fetch(extension, DEFAULT_TYPE.dup).dup
end

#font?(extension) ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/font_assets/mime_types.rb', line 25

def font?(extension)
  MIME_TYPES.keys.include? extension
end

#set(extension, mime_type) ⇒ Object



29
30
31
32
33
# File 'lib/font_assets/mime_types.rb', line 29

def set(extension, mime_type)
  if @types[extension].nil? || @types[extension] == @default
    set!(extension, mime_type)
  end
end

#set!(extension, mime_type) ⇒ Object



35
36
37
# File 'lib/font_assets/mime_types.rb', line 35

def set!(extension, mime_type)
  @types[extension] = mime_type
end