require 'image_optim'

class ImageOptim
  # Adds image_optim as preprocessor for gif, jpeg, png and svg images
  class Railtie < Rails::Railtie
    initializer 'image_optim.initializer' do |app|
      register_preprocessor(app) if register_preprocessor?(app)
    end

    def register_preprocessor?(app)
      return if app.config.assets.compress == false
      return if app.config.assets.image_optim == false

      app.assets
    end

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

    def register_preprocessor(app)
      image_optim = ImageOptim.new(options)

      processor = proc do |_context, data|
        image_optim.optimize_image_data(data) || data
      end

      app.assets.register_preprocessor 'image/gif', :image_optim, &processor
      app.assets.register_preprocessor 'image/jpeg', :image_optim, &processor
      app.assets.register_preprocessor 'image/png', :image_optim, &processor
      app.assets.register_preprocessor 'image/svg+xml', :image_optim, &processor
    end
  end
end

require 'image_optim'

class ImageOptim
  # Adds image_optim as preprocessor for gif, jpeg, png and svg images
  class Railtie < Rails::Railtie
    initializer 'image_optim.initializer' do |app|
      register_preprocessor(app) if register_preprocessor?(app)
    end

    def register_preprocessor?(app)
      return if app.config.assets.compress == false
      return if app.config.assets.image_optim == false

      app.assets
    end

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

    def register_preprocessor(app)
      image_optim = ImageOptim.new(options(app))

      processor = proc do |_context, data|
        image_optim.optimize_image_data(data) || data
      end

      app.assets.register_preprocessor 'image/gif', :image_optim, &processor
      app.assets.register_preprocessor 'image/jpeg', :image_optim, &processor
      app.assets.register_preprocessor 'image/png', :image_optim, &processor
      app.assets.register_preprocessor 'image/svg+xml', :image_optim, &processor
    end
  end
end

Make app available to options
Make app available to options

Seems to have been broken by 95fe0b9
