diff options
author | José Valim <jose.valim@gmail.com> | 2011-07-07 12:15:36 -0700 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2011-07-07 12:15:36 -0700 |
commit | 453f2221cbe65b38b074338f5b15858c83147e5f (patch) | |
tree | cf836bfd9a724a8974858e241efc5d35e9a0552e /actionpack | |
parent | 99c20aaa753f5d333ea34bba9495b06dc0d90413 (diff) | |
parent | f6a6b51ae551b7f936e974cba3ad4b30422d6804 (diff) | |
download | rails-453f2221cbe65b38b074338f5b15858c83147e5f.tar.gz rails-453f2221cbe65b38b074338f5b15858c83147e5f.tar.bz2 rails-453f2221cbe65b38b074338f5b15858c83147e5f.zip |
Merge pull request #2005 from acroca/master
Fixing asset number for asset_path with %d to be consistent in ruby 1.9
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_view/asset_paths.rb | 3 | ||||
-rw-r--r-- | actionpack/test/template/asset_tag_helper_test.rb | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/actionpack/lib/action_view/asset_paths.rb b/actionpack/lib/action_view/asset_paths.rb index 4dd02755d3..77a8c5322f 100644 --- a/actionpack/lib/action_view/asset_paths.rb +++ b/actionpack/lib/action_view/asset_paths.rb @@ -111,7 +111,8 @@ module ActionView args << current_request if (arity > 1 || arity < 0) && has_request? host.call(*args) else - (host =~ /%d/) ? host % (source.hash % 4) : host + source_num = source.bytes.sum + (host =~ /%d/) ? host % (source_num % 4) : host end end end diff --git a/actionpack/test/template/asset_tag_helper_test.rb b/actionpack/test/template/asset_tag_helper_test.rb index df61901b44..59e7ac144b 100644 --- a/actionpack/test/template/asset_tag_helper_test.rb +++ b/actionpack/test/template/asset_tag_helper_test.rb @@ -689,9 +689,9 @@ class AssetTagHelperTest < ActionView::TestCase @controller.config.asset_host = 'http://a%d.example.com' config.perform_caching = true - hash = '/javascripts/cache/money.js'.hash % 4 + number = '/javascripts/cache/money.js'.bytes.sum % 4 assert_dom_equal( - %(<script src="http://a#{hash}.example.com/javascripts/cache/money.js" type="text/javascript"></script>), + %(<script src="http://a#{number}.example.com/javascripts/cache/money.js" type="text/javascript"></script>), javascript_include_tag(:all, :cache => "cache/money") ) @@ -1129,6 +1129,7 @@ class AssetTagHelperNonVhostTest < ActionView::TestCase end def test_should_wildcard_asset_host_between_zero_and_four + String.any_instance.expects(:hash).times(0) @controller.config.asset_host = 'http://a%d.example.com' assert_match(%r(http://a[0123].example.com/collaboration/hieraki/images/xml.png), image_path('xml.png')) end |