Permalink
Browse files

Merge pull request #10636 from seanwalbran/fix-asset-host-proc-return…

…ing-nil

fix rails4 regression with asset_host Proc returning nil
  • Loading branch information...
1 parent d2d7492 commit 99fafa9ad538f2e26f8481cdf9f40efeabb1a1d8 @rafaelfranca rafaelfranca committed May 16, 2013
@@ -193,7 +193,6 @@ def compute_asset_host(source = "", options = {})
request = self.request if respond_to?(:request)
host = config.asset_host if defined? config.asset_host
host ||= request.base_url if request && options[:protocol] == :request
- return unless host
if host.respond_to?(:call)
arity = host.respond_to?(:arity) ? host.arity : host.method(:call).arity
@@ -204,6 +203,8 @@ def compute_asset_host(source = "", options = {})
host = host % (Zlib.crc32(source) % 4)
end
+ return unless host
+
if host =~ URI_REGEXP
host
else
@@ -530,6 +530,17 @@ def test_should_not_modify_source_string
assert_equal copy, source
end
+ def test_image_path_with_asset_host_proc_returning_nil
+ @controller.config.asset_host = Proc.new do |source|
+ unless source.end_with?("tiff")
+ "cdn.example.com"
+ end
+ end
+
+ assert_equal "/images/file.tiff", image_path("file.tiff")
+ assert_equal "http://cdn.example.com/images/file.png", image_path("file.png")
+ end
+
def test_caching_image_path_with_caching_and_proc_asset_host_using_request
@controller.config.asset_host = Proc.new do |source, request|
if request.ssl?

0 comments on commit 99fafa9

Please sign in to comment.