Class: ImageOptim::Railtie

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

Overview

Adds image_optim as preprocessor for gif, jpeg, png and svg images

Constant Summary collapse

MIME_TYPES =
%w[
  image/gif
  image/jpeg
  image/png
  image/svg+xml
].freeze

Instance Method Summary collapse

Instance Method Details

#optimize_image_data(data) ⇒ Object



50
51
52
# File 'lib/image_optim/railtie.rb', line 50

def optimize_image_data(data)
  @image_optim.optimize_image_data(data) || data
end

#options(app) ⇒ Object



42
43
44
45
46
47
48
# File 'lib/image_optim/railtie.rb', line 42

def options(app)
  if app.config.assets.image_optim == true
    {}
  else
    app.config.assets.image_optim || {}
  end
end

#register_preprocessor(app, &processor) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
# File 'lib/image_optim/railtie.rb', line 54

def register_preprocessor(app, &processor)
  MIME_TYPES.each do |mime_type|
    if app.assets
      app.assets.register_preprocessor mime_type, :image_optim, &processor
    else
      app.config.assets.configure do |env|
        env.register_preprocessor mime_type, :image_optim, &processor
      end
    end
  end
end