Class: Volt::StringTemplateRender
- Defined in:
- lib/volt/page/string_template_renderer.rb
Overview
StringTemplateRender are used to render a template to a string. Call .html to get the string. Be sure to call .remove when complete.
StringTemplateRender will intellegently update the string in the same way a normal bindings will update the dom.
Instance Method Summary collapse
- #changed! ⇒ Object
-
#html ⇒ Object
Render the template and get the current value.
-
#initialize(page, context, template_path) ⇒ StringTemplateRender
constructor
A new instance of StringTemplateRender.
- #remove ⇒ Object
Constructor Details
#initialize(page, context, template_path) ⇒ StringTemplateRender
Returns a new instance of StringTemplateRender.
8 9 10 11 12 13 14 |
# File 'lib/volt/page/string_template_renderer.rb', line 8 def initialize(page, context, template_path) @dependency = Dependency.new @template_path = template_path @target = AttributeTarget.new(nil, nil, self) @template = TemplateRenderer.new(page, @target, context, 'main', template_path) end |
Instance Method Details
#changed! ⇒ Object
28 29 30 31 |
# File 'lib/volt/page/string_template_renderer.rb', line 28 def changed! # if @dependency is missing, this template has been removed @dependency.changed! if @dependency end |
#html ⇒ Object
Render the template and get the current value
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/volt/page/string_template_renderer.rb', line 17 def html @dependency.depend html = nil Computation.run_without_tracking do html = @target.to_html end html end |
#remove ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/volt/page/string_template_renderer.rb', line 33 def remove @dependency.remove @dependency = nil Computation.run_without_tracking do @template.remove @template = nil end @target = nil @template_path = nil end |