From a3339e0f192c9751ff89babe1c95d8f998be0c5d Mon Sep 17 00:00:00 2001 From: Jordan Owens Date: Sat, 8 Dec 2018 14:02:44 -0500 Subject: [PATCH] Update capture per review --- sinatra-contrib/lib/sinatra/capture.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sinatra-contrib/lib/sinatra/capture.rb b/sinatra-contrib/lib/sinatra/capture.rb index 10a0073321..fb1cd106bd 100644 --- a/sinatra-contrib/lib/sinatra/capture.rb +++ b/sinatra-contrib/lib/sinatra/capture.rb @@ -97,7 +97,9 @@ def capture(*args, &block) result = block[*args] elsif current_engine == :erb || current_engine == :slim @_out_buf, _buf_was = '', @_out_buf - result = block.call(*args) + raw = block.call(*args) + captured = block.binding.eval('@_out_buf') + result = captured.empty? ? raw : captured @_out_buf = _buf_was else buffer = eval '_buf if defined?(_buf)', block.binding