Sha256: 088569efd06ff898380565a368a1ee05d4e0ba67ec47bea5645d15a3848293e4

Contents?: true

Size: 966 Bytes

Versions: 9

Compression:

Stored size: 966 Bytes

Contents

# AttributeSection provides a place to render templates that
# will be placed as text into an attribute.

require 'volt/page/targets/base_section'

class AttributeSection < BaseSection
  def initialize(target, binding_name)
    @target = target
    @binding_name = binding_name
    # puts "init attr section on #{binding_name}"
  end

  def text=(text)
    set_content_and_rezero_bindings(text, {})
  end

  def html=(value)
    set_content_and_rezero_bindings(value, {})
  end

  # Takes in our html and bindings, and rezero's the comment names, and the
  # bindings.  Returns an updated bindings hash
  def set_content_and_rezero_bindings(html, bindings)
    if @binding_name == 'main'
      @target.html = html
    else
      @target.find_by_binding_id(@binding_name).html = html
    end

    return bindings
  end

  def remove
    # TODO: is this getting run for no reason?
    node = @target.find_by_binding_id(@binding_name)
    node.remove if node
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
volt-0.7.10 lib/volt/page/targets/attribute_section.rb
volt-0.7.9 lib/volt/page/targets/attribute_section.rb
volt-0.7.8 lib/volt/page/targets/attribute_section.rb
volt-0.7.7 lib/volt/page/targets/attribute_section.rb
volt-0.7.6 lib/volt/page/targets/attribute_section.rb
volt-0.7.5 lib/volt/page/targets/attribute_section.rb
volt-0.7.4 lib/volt/page/targets/attribute_section.rb
volt-0.7.3 lib/volt/page/targets/attribute_section.rb
volt-0.7.2 lib/volt/page/targets/attribute_section.rb