aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/application.rb
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/rails/application.rb')
-rw-r--r--railties/lib/rails/application.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb
index 1b834275a7..66a1f88c61 100644
--- a/railties/lib/rails/application.rb
+++ b/railties/lib/rails/application.rb
@@ -137,6 +137,37 @@ module Rails
@config ||= Application::Configuration.new(find_root_with_flag("config.ru", Dir.pwd))
end
+ def assets
+ @assets ||= build_asset_environment
+ end
+
+ def build_asset_environment
+ return unless config.assets.enabled
+ require 'sprockets'
+ env = Sprockets::Environment.new(root.to_s)
+ env.static_root = File.join(root.join("public"), config.assets.prefix)
+ env
+ end
+
+ initializer :add_sprockets_paths do |app|
+ if config.assets.enabled
+ paths = [
+ "app/javascripts",
+ "app/stylesheets",
+ "vendor/plugins/*/app/javascripts",
+ "vendor/plugins/*/app/stylesheets",
+ "vendor/plugins/*/javascripts",
+ "vendor/plugins/*/stylesheets"
+ ] + config.assets.paths
+
+ paths.each do |pattern|
+ Dir[app.root.join(pattern)].each do |dir|
+ app.assets.paths << dir
+ end
+ end
+ end
+ end
+
protected
def default_asset_path