Module: Bridgetown::ERBCapture

Included in:
Streamlined
Defined in:
bridgetown-core/lib/bridgetown-core/converters/erb_templates.rb

Instance Method Summary collapse

Instance Method Details

#captureObject



93
94
95
96
97
98
99
100
101
102
# File 'bridgetown-core/lib/bridgetown-core/converters/erb_templates.rb', line 93

def capture(*)
  previous_buffer_state = @_erbout
  @_erbout = OutputBuffer.new
  result = yield(*)
  result = @_erbout unless @_erbout.empty?
  @_erbout = previous_buffer_state
  return result.to_s if result.is_a?(OutputBuffer)

  result.is_a?(String) && !result.html_safe? ? Erubi.h(result) : result
end