module Deas::Erubis::TemplateHelpers::Methods
Public Instance Methods
capture_partial(name, locals = nil, &c)
click to toggle source
# File lib/deas-erubis/template_helpers.rb, line 18 def capture_partial(name, locals = nil, &c) source_capture_partial(@default_source, name, locals, &c) end
partial(name, locals = nil)
click to toggle source
# File lib/deas-erubis/template_helpers.rb, line 14 def partial(name, locals = nil) source_partial(@default_source, name, locals) end
source_capture_partial(source, name, locals = nil, &c)
click to toggle source
# File lib/deas-erubis/template_helpers.rb, line 26 def source_capture_partial(source, name, locals = nil, &c) _erb_buffer source.partial(name, locals || {}, &Proc.new{ _erb_capture(&c) }) end
source_partial(source, name, locals = nil)
click to toggle source
# File lib/deas-erubis/template_helpers.rb, line 22 def source_partial(source, name, locals = nil) source.partial(name, locals || {}) end
Private Instance Methods
_erb_buffer(content)
click to toggle source
# File lib/deas-erubis/template_helpers.rb, line 50 def _erb_buffer(content) _erb_bufvar << content end
_erb_bufvar()
click to toggle source
# File lib/deas-erubis/template_helpers.rb, line 54 def _erb_bufvar instance_variable_get(_erb_bufvar_name) end
_erb_bufvar_name()
click to toggle source
# File lib/deas-erubis/template_helpers.rb, line 58 def _erb_bufvar_name Deas::Erubis::Source::BUFVAR_NAME end
_erb_capture(&content)
click to toggle source
# File lib/deas-erubis/template_helpers.rb, line 32 def _erb_capture(&content) begin # copy original buffer state orig_buf_value = _erb_bufvar instance_variable_set(_erb_bufvar_name, "\n") # evaluate the given content result = instance_eval(&content) new_buf_value = _erb_bufvar # return result if nothing buffered; otherwise return what was buffered new_buf_value == "\n" ? "\n#{result}" : new_buf_value ensure # reset buffer to original state instance_variable_set(_erb_bufvar_name, orig_buf_value) end end