aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2012-05-02 14:13:26 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2012-05-02 14:13:26 -0700
commitebe994f83c717f8ef25dc54490e13bc0dd048188 (patch)
treebf32852b79aa4b13341c04e3967708cc8bbc9e92
parent02ca9151a043a4fefbb3f22edd05f0cd392fffaa (diff)
parent580e767a8e12ee15ac367e6f89489e4ad6d863cc (diff)
downloadrails-ebe994f83c717f8ef25dc54490e13bc0dd048188.tar.gz
rails-ebe994f83c717f8ef25dc54490e13bc0dd048188.tar.bz2
rails-ebe994f83c717f8ef25dc54490e13bc0dd048188.zip
Merge pull request #6095 from route/assets_precompile_task
Fix that asset precompile didn't respect the index.js convention. Fixes #3993.
-rw-r--r--actionpack/lib/sprockets/static_compiler.rb3
-rw-r--r--railties/test/application/assets_test.rb9
2 files changed, 12 insertions, 0 deletions
diff --git a/actionpack/lib/sprockets/static_compiler.rb b/actionpack/lib/sprockets/static_compiler.rb
index 32a9d66e6e..2e2db4b760 100644
--- a/actionpack/lib/sprockets/static_compiler.rb
+++ b/actionpack/lib/sprockets/static_compiler.rb
@@ -16,6 +16,9 @@ module Sprockets
def compile
manifest = {}
env.each_logical_path do |logical_path|
+ if File.basename(logical_path)[/[^\.]+/, 0] == 'index'
+ logical_path.sub!(/\/index\./, '.')
+ end
next unless compile_path?(logical_path)
if asset = env.find_asset(logical_path)
manifest[logical_path] = write_asset(asset)
diff --git a/railties/test/application/assets_test.rb b/railties/test/application/assets_test.rb
index c864d70fa2..673a403fd3 100644
--- a/railties/test/application/assets_test.rb
+++ b/railties/test/application/assets_test.rb
@@ -110,6 +110,15 @@ module ApplicationTests
assert !File.exists?("#{app_path}/public/assets/something.else.css")
end
+ test "precompile something.js for directory containing index file" do
+ add_to_config "config.assets.precompile = [ 'something.js' ]"
+ app_file "app/assets/javascripts/something/index.js.erb", "alert();"
+
+ precompile!
+
+ assert File.exists?("#{app_path}/public/assets/something.js")
+ end
+
test "asset pipeline should use a Sprockets::Index when config.assets.digest is true" do
add_to_config "config.assets.digest = true"
add_to_config "config.action_controller.perform_caching = false"