aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorGuillermo Iguaran <guilleiguaran@gmail.com>2011-08-30 16:30:53 -0500
committerGuillermo Iguaran <guilleiguaran@gmail.com>2011-08-31 13:12:25 -0500
commitd0b3937b8fe2cbc4385e843d47249af3e7181a83 (patch)
treeed3223e40c61d9003008d56a12de414153b425a0 /railties
parentf236e00189b5a6cf0cebac5c275f64d41d73428d (diff)
downloadrails-d0b3937b8fe2cbc4385e843d47249af3e7181a83.tar.gz
rails-d0b3937b8fe2cbc4385e843d47249af3e7181a83.tar.bz2
rails-d0b3937b8fe2cbc4385e843d47249af3e7181a83.zip
Set default location of manifest with config.assets.manifest
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/application/configuration.rb1
-rw-r--r--railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt3
-rw-r--r--railties/test/application/assets_test.rb17
3 files changed, 21 insertions, 0 deletions
diff --git a/railties/lib/rails/application/configuration.rb b/railties/lib/rails/application/configuration.rb
index 85e0cd5061..fa7e3b820b 100644
--- a/railties/lib/rails/application/configuration.rb
+++ b/railties/lib/rails/application/configuration.rb
@@ -43,6 +43,7 @@ module Rails
@assets.debug = false
@assets.compile = true
@assets.digest = false
+ @assets.manifest = "#{root}/public#{@assets.prefix}"
@assets.cache_store = [ :file_store, "#{root}/tmp/cache/assets/" ]
@assets.js_compressor = nil
@assets.css_compressor = nil
diff --git a/railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt b/railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt
index b4754cfc6d..64e2c09467 100644
--- a/railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt
+++ b/railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt
@@ -20,6 +20,9 @@
# Generate digests for assets URLs
config.assets.digest = true
+ # Defaults to Rails.root.join("public/assets")
+ # config.assets.manifest = YOUR_PATH
+
# Specifies the header that your server uses for sending files
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
diff --git a/railties/test/application/assets_test.rb b/railties/test/application/assets_test.rb
index a4d7fc92f5..ccadf0b2c0 100644
--- a/railties/test/application/assets_test.rb
+++ b/railties/test/application/assets_test.rb
@@ -79,6 +79,23 @@ module ApplicationTests
assert_match /application-([0-z]+)\.css/, assets["application.css"]
end
+ test "precompile creates a manifest file in a custom path with all the assets listed" do
+ app_file "app/assets/stylesheets/application.css.erb", "<%= asset_path('rails.png') %>"
+ app_file "app/assets/javascripts/application.js", "alert();"
+ FileUtils.mkdir "#{app_path}/shared"
+ app_file "config/initializers/manifest.rb", "Rails.application.config.assets.manifest = '#{app_path}/shared'"
+
+ capture(:stdout) do
+ Dir.chdir(app_path){ `bundle exec rake assets:precompile` }
+ end
+
+ manifest = "#{app_path}/shared/manifest.yml"
+
+ assets = YAML.load_file(manifest)
+ assert_match /application-([0-z]+)\.js/, assets["application.js"]
+ assert_match /application-([0-z]+)\.css/, assets["application.css"]
+ end
+
test "assets do not require any assets group gem when manifest file is present" do
app_file "app/assets/javascripts/application.js", "alert();"