aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSantiago Pastorino <santiago@wyeworks.com>2012-01-10 16:33:26 -0200
committerSantiago Pastorino <santiago@wyeworks.com>2012-01-10 16:34:13 -0200
commit3375a093e91dfee7a0e4264cbf746363a7e50f54 (patch)
treef0db49c30cef2680968d917e7c596247698210ea
parentd65b76642637928f64c9aa092e305238eb3b6f4f (diff)
downloadrails-3375a093e91dfee7a0e4264cbf746363a7e50f54.tar.gz
rails-3375a093e91dfee7a0e4264cbf746363a7e50f54.tar.bz2
rails-3375a093e91dfee7a0e4264cbf746363a7e50f54.zip
Rails initialization with initialize_on_precompile = false should set assets_dir
-rw-r--r--actionpack/lib/action_controller/railtie.rb5
-rw-r--r--railties/test/application/assets_test.rb6
2 files changed, 10 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/railtie.rb b/actionpack/lib/action_controller/railtie.rb
index 7af256fd99..fb810c41b1 100644
--- a/actionpack/lib/action_controller/railtie.rb
+++ b/actionpack/lib/action_controller/railtie.rb
@@ -17,11 +17,14 @@ module ActionController
ActiveSupport.on_load(:action_controller) { self.cache_store ||= RAILS_CACHE }
end
+ initializer "action_controller.assets_config", :group => :all do |app|
+ app.config.action_controller.assets_dir ||= app.config.paths["public"].first
+ end
+
initializer "action_controller.set_configs" do |app|
paths = app.config.paths
options = app.config.action_controller
- options.assets_dir ||= paths["public"].first
options.javascripts_dir ||= paths["public/javascripts"].first
options.stylesheets_dir ||= paths["public/stylesheets"].first
options.page_cache_directory ||= paths["public"].first
diff --git a/railties/test/application/assets_test.rb b/railties/test/application/assets_test.rb
index cc5695091b..ad9e68adae 100644
--- a/railties/test/application/assets_test.rb
+++ b/railties/test/application/assets_test.rb
@@ -427,6 +427,12 @@ module ApplicationTests
assert_equal "NoPost;\n", File.read("#{app_path}/public/assets/application.js")
end
+ test "initialization on the assets group should set assets_dir" do
+ require "#{app_path}/config/application"
+ Rails.application.initialize!(:assets)
+ assert_not_nil Rails.application.config.action_controller.assets_dir
+ end
+
test "enhancements to assets:precompile should only run once" do
app_file "lib/tasks/enhance.rake", "Rake::Task['assets:precompile'].enhance { puts 'enhancement' }"
output = precompile!