Permalink
Browse files

Merge pull request #2780 from guilleiguaran/assets-pipeline-minor-cha…

…nges

Assets pipeline: fix in manifest location and remove unused code
  • Loading branch information...
2 parents c45ce6e + e7a86b9 commit c2a323d9acdc8bd55a682444387e7569dd556c54 @spastorino spastorino committed Sep 1, 2011
@@ -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|
@@ -43,7 +43,7 @@ def initialize(*)
@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
@@ -96,6 +96,19 @@ def app
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();"

0 comments on commit c2a323d

Please sign in to comment.