aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSantiago Pastorino <santiago@wyeworks.com>2011-08-31 18:50:38 -0700
committerSantiago Pastorino <santiago@wyeworks.com>2011-08-31 22:51:37 -0300
commit3ce3b5b1f1f92d79ee015d246a9f62a725eca5ca (patch)
tree9497192646574804508139f6aae27d31cb861e9a
parentc5a91d02888ae536759780ec6ecb5f7df7241d4b (diff)
downloadrails-3ce3b5b1f1f92d79ee015d246a9f62a725eca5ca.tar.gz
rails-3ce3b5b1f1f92d79ee015d246a9f62a725eca5ca.tar.bz2
rails-3ce3b5b1f1f92d79ee015d246a9f62a725eca5ca.zip
Merge pull request #2780 from guilleiguaran/assets-pipeline-minor-changes
Assets pipeline: fix in manifest location and remove unused code
-rw-r--r--actionpack/lib/sprockets/assets.rake33
-rw-r--r--railties/lib/rails/application/configuration.rb2
-rw-r--r--railties/test/application/assets_test.rb13
3 files changed, 27 insertions, 21 deletions
diff --git a/actionpack/lib/sprockets/assets.rake b/actionpack/lib/sprockets/assets.rake
index 6f38ece0c3..f1fc7857a7 100644
--- a/actionpack/lib/sprockets/assets.rake
+++ b/actionpack/lib/sprockets/assets.rake
@@ -23,29 +23,22 @@ namespace :assets do
manifest = {}
manifest_path = config.assets.manifest || target
- if env.respond_to?(:each_logical_path)
- config.assets.precompile.each do |path|
- env.each_logical_path do |logical_path|
- if path.is_a?(Regexp)
- next unless path.match(logical_path)
- else
- next unless File.fnmatch(path.to_s, logical_path)
- end
+ config.assets.precompile.each do |path|
+ env.each_logical_path do |logical_path|
+ if path.is_a?(Regexp)
+ next unless path.match(logical_path)
+ else
+ next unless File.fnmatch(path.to_s, logical_path)
+ end
- if asset = env.find_asset(logical_path)
- manifest[logical_path] = asset.digest_path
- filename = target.join(asset.digest_path)
- mkdir_p filename.dirname
- asset.write_to(filename)
- asset.write_to("#{filename}.gz") if filename.to_s =~ /\.(css|js)$/
- end
+ if asset = env.find_asset(logical_path)
+ manifest[logical_path] = asset.digest_path
+ filename = target.join(asset.digest_path)
+ mkdir_p filename.dirname
+ asset.write_to(filename)
+ asset.write_to("#{filename}.gz") if filename.to_s =~ /\.(css|js)$/
end
end
- else
- # TODO: Remove this once we're depending on sprockets beta 15
- assets = config.assets.precompile.dup
- assets << {:to => target}
- env.precompile(*assets)
end
File.open("#{manifest_path}/manifest.yml", 'w') do |f|
diff --git a/railties/lib/rails/application/configuration.rb b/railties/lib/rails/application/configuration.rb
index fa7e3b820b..0ca664e4f0 100644
--- a/railties/lib/rails/application/configuration.rb
+++ b/railties/lib/rails/application/configuration.rb
@@ -43,7 +43,7 @@ module Rails
@assets.debug = false
@assets.compile = true
@assets.digest = false
- @assets.manifest = "#{root}/public#{@assets.prefix}"
+ @assets.manifest = nil
@assets.cache_store = [ :file_store, "#{root}/tmp/cache/assets/" ]
@assets.js_compressor = nil
@assets.css_compressor = nil
diff --git a/railties/test/application/assets_test.rb b/railties/test/application/assets_test.rb
index ccadf0b2c0..721d082908 100644
--- a/railties/test/application/assets_test.rb
+++ b/railties/test/application/assets_test.rb
@@ -96,6 +96,19 @@ module ApplicationTests
assert_match /application-([0-z]+)\.css/, assets["application.css"]
end
+ test "the manifest file should be saved by default in the same assets folder" do
+ app_file "app/assets/javascripts/application.js", "alert();"
+ app_file "config/initializers/manifest.rb", "Rails.application.config.assets.prefix = '/x'"
+
+ capture(:stdout) do
+ Dir.chdir(app_path){ `bundle exec rake assets:precompile` }
+ end
+
+ manifest = "#{app_path}/public/x/manifest.yml"
+ assets = YAML.load_file(manifest)
+ assert_match /application-([0-z]+)\.js/, assets["application.js"]
+ end
+
test "assets do not require any assets group gem when manifest file is present" do
app_file "app/assets/javascripts/application.js", "alert();"