Module: ActionView::Helpers::CaptureHelper
- Defined in:
- lib/haml/helpers/xss_mods.rb,
lib/haml/helpers/action_view_mods.rb,
lib/haml/helpers/action_view_mods.rb
Instance Method Summary collapse
- #capture_erb_with_buffer_with_haml(buffer, *args, &block) (also: #capture_erb_with_buffer)
- #capture_with_haml(*args, &block) (also: #capture)
- #with_output_buffer_with_haml_xss(*args, &block) (also: #with_output_buffer)
Instance Method Details
#capture_erb_with_buffer_with_haml(buffer, *args, &block) Also known as: capture_erb_with_buffer
65 66 67 68 69 70 71 |
# File 'lib/haml/helpers/action_view_mods.rb', line 65
def capture_erb_with_buffer_with_haml(buffer, *args, &block)
if is_haml?
capture_haml(*args, &block)
else
capture_erb_with_buffer_without_haml(buffer, *args, &block)
end
end
|
#capture_with_haml(*args, &block) Also known as: capture
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/haml/helpers/action_view_mods.rb', line 47
def capture_with_haml(*args, &block)
# Rails' #capture helper will just return the value of the block
# if it's not actually in the template context,
# as detected by the existance of an _erbout variable.
# We've got to do the same thing for compatibility.
if is_haml? && block_is_haml?(block)
value = nil
buffer = capture_haml(*args) { value = yield(*args) }
return buffer unless buffer.empty?
return value if value.is_a?(String)
else
capture_without_haml(*args, &block)
end
end
|
#with_output_buffer_with_haml_xss(*args, &block) Also known as: with_output_buffer
108 109 110 111 112 113 114 115 |
# File 'lib/haml/helpers/xss_mods.rb', line 108
def with_output_buffer_with_haml_xss(*args, &block)
res = with_output_buffer_without_haml_xss(*args, &block)
case res
when Array; res.map {|s| Haml::Util.html_safe(s)}
when String; Haml::Util.html_safe(res)
else; res
end
end
|