diff options
author | Joshua Peek <josh@joshpeek.com> | 2011-04-12 22:35:24 -0500 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2011-04-12 22:35:24 -0500 |
commit | f004c8868196f62a6810bc7e693b407fd27a5fa7 (patch) | |
tree | 53b05e2adf195880080e4758254dcccf49219611 /railties/lib/rails/application.rb | |
parent | 1b5b53da5e4beb24dc7d41a1e9e5d72b82586985 (diff) | |
parent | a4518517f77055cea0d9fe552d2df393140679de (diff) | |
download | rails-f004c8868196f62a6810bc7e693b407fd27a5fa7.tar.gz rails-f004c8868196f62a6810bc7e693b407fd27a5fa7.tar.bz2 rails-f004c8868196f62a6810bc7e693b407fd27a5fa7.zip |
Merge branch 'sprockets'
Diffstat (limited to 'railties/lib/rails/application.rb')
-rw-r--r-- | railties/lib/rails/application.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 1b834275a7..92f03f06bf 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -137,6 +137,38 @@ module Rails @config ||= Application::Configuration.new(find_root_with_flag("config.ru", Dir.pwd)) end + def assets + @assets ||= build_asset_environment + end + attr_writer :assets + + 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 |