Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Allow to debug assets by config.assets.debug

  • Loading branch information...
commit 18b2223b3290c4b3daa310edfc06b4d51161c312 1 parent 63d3809
@ai ai authored
View
10 actionpack/lib/sprockets/helpers/rails_helper.rb
@@ -70,10 +70,12 @@ def asset_path(source, default_ext = nil, body = false, protocol = nil)
private
def debug_assets?
- Rails.env.development? || Rails.env.test? ||
- params[:debug_assets] == '1' || params[:debug_assets] == 'true'
- rescue NoMethodError
- false
+ begin
+ params[:debug_assets] == '1' ||
+ params[:debug_assets] == 'true'
+ rescue NoMethodError
@dmathieu Collaborator

As already discussed in the pull request, this rescue is not useful here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+ false
+ end || Rails.application.config.assets.debug
end
# Override to specify an alternative prefix for asset path generation.
View
20 actionpack/test/template/sprockets_helper_test.rb
@@ -141,8 +141,6 @@ def url_for(*args)
end
test "javascript include tag" do
- Rails.env.stubs(:test?).returns(false)
-
assert_match %r{<script src="/assets/application-[0-9a-f]+.js" type="text/javascript"></script>},
javascript_include_tag(:application)
@@ -156,14 +154,12 @@ def url_for(*args)
assert_match %r{<script src=\"/assets/xmlhr-[0-9a-f]+.js" type=\"text/javascript\"></script>\n<script src=\"/assets/extra-[0-9a-f]+.js" type=\"text/javascript\"></script>},
javascript_include_tag("xmlhr", "extra")
- Rails.env.stubs(:test?).returns(true)
+ assert_match %r{<script src="/assets/xmlhr-[0-9a-f]+.js\?body=1" type="text/javascript"></script>\n<script src="/assets/application-[0-9a-f]+.js\?body=1" type="text/javascript"></script>},
+ javascript_include_tag(:application, :debug => true)
+ @config.assets.debug = true
assert_match %r{<script src="/assets/xmlhr-[0-9a-f]+.js\?body=1" type="text/javascript"></script>\n<script src="/assets/application-[0-9a-f]+.js\?body=1" type="text/javascript"></script>},
javascript_include_tag(:application)
-
- assert_match %r{<script src="/assets/application-[0-9a-f]+.js\" type="text/javascript"></script>},
- javascript_include_tag(:application, :debug => false)
-
end
test "stylesheet path" do
@@ -180,8 +176,6 @@ def url_for(*args)
end
test "stylesheet link tag" do
- Rails.env.stubs(:test?).returns(false)
-
assert_match %r{<link href="/assets/application-[0-9a-f]+.css" media="screen" rel="stylesheet" type="text/css" />},
stylesheet_link_tag(:application)
@@ -200,14 +194,12 @@ def url_for(*args)
assert_match %r{<link href="/assets/style-[0-9a-f]+.css" media="screen" rel="stylesheet" type="text/css" />\n<link href="/assets/extra-[0-9a-f]+.css" media="screen" rel="stylesheet" type="text/css" />},
stylesheet_link_tag("style", "extra")
- Rails.env.stubs(:test?).returns(true)
+ assert_match %r{<link href="/assets/style-[0-9a-f]+.css\?body=1" media="screen" rel="stylesheet" type="text/css" />\n<link href="/assets/application-[0-9a-f]+.css\?body=1" media="screen" rel="stylesheet" type="text/css" />},
+ stylesheet_link_tag(:application, :debug => true)
+ @config.assets.debug = true
assert_match %r{<link href="/assets/style-[0-9a-f]+.css\?body=1" media="screen" rel="stylesheet" type="text/css" />\n<link href="/assets/application-[0-9a-f]+.css\?body=1" media="screen" rel="stylesheet" type="text/css" />},
stylesheet_link_tag(:application)
-
- assert_match %r{<link href="/assets/application-[0-9a-f]+.css" media="screen" rel="stylesheet" type="text/css" />},
- stylesheet_link_tag(:application, :debug => false)
-
end
test "alternate asset prefix" do
View
2  railties/guides/source/asset_pipeline.textile
@@ -224,7 +224,7 @@ If any of the files in the manifest have changed between requests, the server re
h4. Debugging Assets
-You can put +?debug_assets=true+ or +?debug_assets=1+ at the end of a URL and Sprockets expands the lines which load the assets. For example, if you had an +app/assets/javascripts/application.js+ file containing these lines:
+You can put +?debug_assets=true+ or +?debug_assets=1+ at the end of a URL or set +config.assets.debug+ and Sprockets expands the lines which load the assets. For example, if you had an +app/assets/javascripts/application.js+ file containing these lines:
<plain>
//= require "projects"
View
1  railties/lib/rails/application/configuration.rb
@@ -38,6 +38,7 @@ def initialize(*)
@assets.precompile = [ /\w+\.(?!js|css).+/, /application.(css|js)$/ ]
@assets.prefix = "/assets"
@assets.version = ''
+ @assets.debug = false
@assets.cache_store = [ :file_store, "#{root}/tmp/cache/assets/" ]
@assets.js_compressor = nil
View
3  railties/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt
@@ -29,4 +29,7 @@
# Do not compress assets
config.assets.compress = false
+
+ # Expands the lines which load the assets
+ config.assets.debug = true
end
@dmathieu

As already discussed in the pull request, this rescue is not useful here.

Please sign in to comment.
Something went wrong with that request. Please try again.