From b1efb9bedb75bcd7768b4c937253a37d7610c348 Mon Sep 17 00:00:00 2001 From: Nikita Pomiashchii Date: Tue, 22 Apr 2014 23:29:30 +0400 Subject: [PATCH] assets version doesn't depend on asset host iff it's a Proc --- lib/sprockets/railtie.rb | 4 ++-- test/test_railtie.rb | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/sprockets/railtie.rb b/lib/sprockets/railtie.rb index 037fa855..ea9424d7 100644 --- a/lib/sprockets/railtie.rb +++ b/lib/sprockets/railtie.rb @@ -74,8 +74,8 @@ def configure(&block) app.assets.version, config.assets.version, config.action_controller.relative_url_root, - config.action_controller.asset_host, - Sprockets::Rails::VERSION, + (config.action_controller.asset_host unless config.action_controller.asset_host.respond_to?(:call)), + Sprockets::Rails::VERSION ].compact.join('-') # Copy config.assets.paths to Sprockets diff --git a/test/test_railtie.rb b/test/test_railtie.rb index 1ee4a2de..83fcea2e 100644 --- a/test/test_railtie.rb +++ b/test/test_railtie.rb @@ -112,7 +112,7 @@ def test_version assert_equal "test-v2-#{Sprockets::Rails::VERSION}", env.version end - def test_version_fragments + def test_version_fragments_with_string_asset_host app.configure do config.assets.version = 'v2' config.action_controller.asset_host = 'http://some-cdn.com' @@ -124,6 +124,20 @@ def test_version_fragments assert_equal "test-v2-some-path-http://some-cdn.com-#{Sprockets::Rails::VERSION}", env.version end + def test_version_fragments_with_proc_asset_host + app.configure do + config.assets.version = 'v2' + config.action_controller.asset_host = ->(path, request) { + 'http://some-cdn.com' + } + config.action_controller.relative_url_root = 'some-path' + end + app.initialize! + + assert env = app.assets + assert_equal "test-v2-some-path-#{Sprockets::Rails::VERSION}", env.version + end + def test_configure app.configure do config.assets.configure do |env|