提交 eabc0364 编写于 作者: J Joshua Peek

Merge pull request #2448 from igrigorik/master

Asset pipeline fixes: clear out tmp cache and use environment in digest generation
......@@ -16,7 +16,7 @@ namespace :assets do
end
desc "Remove compiled assets"
task :clean => :environment do
task :clean => [:environment, 'tmp:cache:clear'] do
assets = Rails.application.config.assets
public_asset_path = Rails.public_path + assets.prefix
rm_rf public_asset_path, :secure => true
......
......@@ -20,6 +20,7 @@ class Railtie < ::Rails::Railtie
app.assets = Sprockets::Environment.new(app.root.to_s) do |env|
env.static_root = File.join(app.root.join('public'), config.assets.prefix)
env.logger = ::Rails.logger
env.version = ::Rails.env + '-' + config.assets.version
if config.assets.cache_store != false
env.cache = ActiveSupport::Cache.lookup_store(config.assets.cache_store) || ::Rails.cache
......
......@@ -205,4 +205,17 @@ def url_for(*args)
stubs(:asset_environment).returns(assets)
assert_match %r{/assets/style-[0-9a-f]+.css}, asset_path("style", "css")
end
test "alternate hash based on environment" do
assets = Sprockets::Environment.new
assets.version = 'development'
assets.append_path(FIXTURES.join("sprockets/alternate/stylesheets"))
stubs(:asset_environment).returns(assets)
dev_path = asset_path("style", "css")
assets.version = 'production'
prod_path = asset_path("style", "css")
assert_not_equal prod_path, dev_path
end
end
......@@ -80,7 +80,7 @@ def app
Dir.chdir(app_path){ `bundle exec rake assets:clean` }
end
files = Dir["#{app_path}/public/assets/**/*"]
files = Dir["#{app_path}/public/assets/**/*", "#{app_path}/tmp/cache/*"]
assert_equal 0, files.length, "Expected no assets, but found #{files.join(', ')}"
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册