class ImageOptim::Railtie

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

Constants

MIME_TYPES

Public Instance Methods

default_options(app) click to toggle source
# File lib/image_optim/railtie.rb, line 53
def default_options(app)
  config_path = app.config.paths['config'].first
  tmp_path = app.config.paths['tmp'].first
  {
    :config_paths => [
      "#{config_path}/image_optim.yml",
      "#{config_path}/image_optim/#{Rails.env}.yml",
    ],
    :cache_dir => "#{tmp_path}/cache/image_optim",
  }
end
optimize_image_data(data) click to toggle source
# File lib/image_optim/railtie.rb, line 65
def optimize_image_data(data)
  @image_optim.optimize_image_data(data) || data
end
options(app) click to toggle source
# File lib/image_optim/railtie.rb, line 45
def options(app)
  if app.config.assets.image_optim == true
    default_options(app)
  else
    app.config.assets.image_optim || default_options(app)
  end
end
register_preprocessor(app, &processor) click to toggle source
# File lib/image_optim/railtie.rb, line 69
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|
        if Sprockets::Processing.instance_method(:register_config_processor).arity == -3
          env.register_preprocessor mime_type, &processor
        else
          env.register_preprocessor mime_type, :image_optim, &processor
        end
      end
    end
  end
end