Module: IconFor
- Defined in:
- lib/icon_for.rb,
lib/icon_for/fa.rb,
lib/icon_for/core.rb,
lib/icon_for/data.rb,
lib/icon_for/version.rb
Defined Under Namespace
Constant Summary collapse
- VERSION =
"0.1.8"
Class Method Summary collapse
Class Method Details
.[](mime_type) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/icon_for/core.rb', line 15 def self.[] mime_type case @config.source.downcase when :fa require "icon_for/fa" FA[mime_type] when :data self.icon_from_source mime_type, @config.data else raise "Unknown icon source `#{@config.source.downcase}'" end end |
.config ⇒ Object
11 12 13 |
# File 'lib/icon_for/core.rb', line 11 def self.config block_given? ? yield(@config) : @config end |
.icon_from_source(mime_type, data) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/icon_for/core.rb', line 27 def self.icon_from_source mime_type, data raise "Invalid data object" unless data&.key?('media') and data&.key?('extensions') and data&.key?('icons') return data['icons']['fallback'] unless mime = MIME::Types[mime_type].first if data['extensions'].key? mime.preferred_extension icon = data['extensions'][mime.preferred_extension] elsif data['media'].key? mime.media_type icon = data['media'][mime.media_type] else icon = 'fallback' end data['icons'][icon] end |