Class: Branding::Railtie

Inherits:
Rails::Railtie
  • Object
show all
Defined in:
lib/branding/railtie.rb

Class Method Summary collapse

Class Method Details

.best_icon(ideal_width) ⇒ Object

find the best suited icon in a rails app



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/branding/railtie.rb', line 24

def self.best_icon(ideal_width)
  paths = icon_paths.sort_by do |path|
    png = PNG.from_file(path)
    (ideal_width - png.width).abs
  end

  if paths.empty?
    nil
  else
    paths.first
  end
end

.icon_pathsObject



37
38
39
40
41
42
# File 'lib/branding/railtie.rb', line 37

def self.icon_paths
  paths = ["#{Rails.root}/public/", "#{Rails.root}/app/assets/images/"]
  file_patterns = ['favicon*.png', 'apple-touch-icon*.png']
  patterns = paths.product(file_patterns).map(&:join)
  Dir.glob(patterns)
end