From ea6763a632022253bcd4fabe6005ed76249b8564 Mon Sep 17 00:00:00 2001 From: Nathan Broadbent Date: Fri, 26 Oct 2012 12:38:08 +1300 Subject: [PATCH 1/2] Cache public/assets if rake assets:clean_expired is successful --- lib/language_pack/rails3.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/lib/language_pack/rails3.rb b/lib/language_pack/rails3.rb index 60d7ca8c8..6e238f89f 100644 --- a/lib/language_pack/rails3.rb +++ b/lib/language_pack/rails3.rb @@ -43,6 +43,9 @@ def run_assets_precompile_rake_task if File.exists?("public/assets/manifest.yml") puts "Detected manifest.yml, assuming assets were compiled locally" else + FileUtils.mkdir_p('public') + cache_load "public/assets" + ENV["RAILS_GROUPS"] ||= "assets" ENV["RAILS_ENV"] ||= "production" @@ -53,6 +56,23 @@ def run_assets_precompile_rake_task if $?.success? log "assets_precompile", :status => "success" puts "Asset precompilation completed (#{"%.2f" % time}s)" + + # If 'turbo-sprockets-rails3' gem is available, run 'assets:clean_expired' and + # cache assets if task was successful. + if gem_is_bundled?('turbo-sprockets-rails3') + log("assets_clean_expired") do + run("env PATH=$PATH:bin bundle exec rake assets:clean_expired 2>&1") + if $?.success? + log "assets_clean_expired", :status => "success" + cache_store "public/assets" + else + log "assets_clean_expired", :status => "failure" + cache_clear "public/assets" + end + end + else + cache_clear "public/assets" + end else log "assets_precompile", :status => "failure" puts "Precompiling assets failed, enabling runtime asset compilation" From 3b67683951240b2bc9a2966ce4fd89fca1d57e6f Mon Sep 17 00:00:00 2001 From: Faraz Yashar Date: Sun, 30 Jun 2013 01:29:01 -0400 Subject: [PATCH 2/2] Switch cache helpers to new Cache class --- lib/language_pack/rails3.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/language_pack/rails3.rb b/lib/language_pack/rails3.rb index 87570972c..83e9a6204 100644 --- a/lib/language_pack/rails3.rb +++ b/lib/language_pack/rails3.rb @@ -45,7 +45,7 @@ def run_assets_precompile_rake_task puts "Detected manifest.yml, assuming assets were compiled locally" else FileUtils.mkdir_p('public') - cache_load "public/assets" + cache.load "public/assets" ENV["RAILS_GROUPS"] ||= "assets" ENV["RAILS_ENV"] ||= "production" @@ -65,14 +65,14 @@ def run_assets_precompile_rake_task run("env PATH=$PATH:bin bundle exec rake assets:clean_expired 2>&1") if $?.success? log "assets_clean_expired", :status => "success" - cache_store "public/assets" + cache.store "public/assets" else log "assets_clean_expired", :status => "failure" - cache_clear "public/assets" + cache.clear "public/assets" end end else - cache_clear "public/assets" + cache.clear "public/assets" end else log "assets_precompile", :status => "failure"