class Volt::StringTemplateRenderer

StringTemplateRenderer are used to render a template to a string. Call .html to get the string. Be sure to call .remove when complete.

StringTemplateRenderer will intellegently update the string in the same way a normal bindings will update the dom.

Public Class Methods

new(volt_app, context, template_path) click to toggle source
# File lib/volt/page/string_template_renderer.rb, line 8
def initialize(volt_app, context, template_path)
  @dependency = Dependency.new

  @template_path = template_path
  @target        = AttributeTarget.new(nil, nil, self)
  @template      = TemplateRenderer.new(volt_app, @target, context, 'main', template_path)
end

Public Instance Methods

changed!() click to toggle source
# 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() click to toggle source

Render the template and get the current value

# 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() click to toggle source
# 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