diff --git a/lib/sprockets/railtie.rb b/lib/sprockets/railtie.rb index f5e92a9e..010fa4d6 100644 --- a/lib/sprockets/railtie.rb +++ b/lib/sprockets/railtie.rb @@ -36,6 +36,23 @@ def assets # Returns Sprockets::Manifest for app config. attr_accessor :assets_manifest end + + class Engine < Railtie + # Skip defining append_assets_path on Rails <= 4.2 + unless initializers.find { |init| init.name == :append_assets_path } + initializer :append_assets_path, :group => :all do |app| + if paths["app/assets"].respond_to?(:existent_directories) + app.config.assets.paths.unshift(*paths["vendor/assets"].existent_directories) + app.config.assets.paths.unshift(*paths["lib/assets"].existent_directories) + app.config.assets.paths.unshift(*paths["app/assets"].existent_directories) + else + app.config.assets.paths.unshift(*paths["vendor/assets"].paths.select { |d| File.directory?(d) }) + app.config.assets.paths.unshift(*paths["lib/assets"].paths.select { |d| File.directory?(d) }) + app.config.assets.paths.unshift(*paths["app/assets"].paths.select { |d| File.directory?(d) }) + end + end + end + end end module Sprockets