Class: ImageOptim::Railtie
- Inherits:
-
Rails::Railtie
- Object
- Rails::Railtie
- ImageOptim::Railtie
- 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
- #default_options(app) ⇒ Object
- #optimize_image_data(data) ⇒ Object
- #options(app) ⇒ Object
- #register_preprocessor(app, &processor) ⇒ Object
Instance Method Details
#default_options(app) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/image_optim/railtie.rb', line 53 def (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) ⇒ Object
65 66 67 |
# File 'lib/image_optim/railtie.rb', line 65 def optimize_image_data(data) @image_optim.optimize_image_data(data) || data end |
#options(app) ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/image_optim/railtie.rb', line 45 def (app) if app.config.assets.image_optim == true (app) else app.config.assets.image_optim || (app) end end |
#register_preprocessor(app, &processor) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# 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 |