Sha256: 4f10466639715190014e437b1b5cff927f503535548c61190c38ab77c796d10e

Contents?: true

Size: 1.1 KB

Versions: 14

Compression:

Stored size: 1.1 KB

Contents

# The BaseBinding class is the base for all bindings.  It takes
# 4 arguments that should be passed up from the children (via super)
#
# 1. page - this class instance should provide:
#            - a #templates methods that returns a hash for templates
#            - an #events methods that returns an instance of DocumentEvents
# 2. target -  an DomTarget or AttributeTarget
# 3. context - the context object the binding will be evaluated in
# 4. binding_name - the id for the comment (or id for attributes) where the
#                   binding will be inserted.
class BaseBinding
  attr_accessor :target, :context, :binding_name

  def initialize(page, target, context, binding_name)
    @page = page
    @target = target
    @context = context
    @binding_name = binding_name

    @@binding_number ||= 10000
  end

  def dom_section
    @dom_section ||= target.dom_section(@binding_name)
  end

  def remove
    @dom_section.remove if @dom_section

    # Clear any references
    @target = nil
    @context = nil
    @dom_section = nil
  end

  def remove_anchors
    @dom_section.remove_anchors if @dom_section
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
volt-0.8.14 lib/volt/page/bindings/base_binding.rb
volt-0.8.13 lib/volt/page/bindings/base_binding.rb
volt-0.8.11 lib/volt/page/bindings/base_binding.rb
volt-0.8.10 lib/volt/page/bindings/base_binding.rb
volt-0.8.9 lib/volt/page/bindings/base_binding.rb
volt-0.8.8 lib/volt/page/bindings/base_binding.rb
volt-0.8.7 lib/volt/page/bindings/base_binding.rb
volt-0.8.6 lib/volt/page/bindings/base_binding.rb
volt-0.8.5 lib/volt/page/bindings/base_binding.rb
volt-0.8.4 lib/volt/page/bindings/base_binding.rb
volt-0.8.3 lib/volt/page/bindings/base_binding.rb
volt-0.8.2 lib/volt/page/bindings/base_binding.rb
volt-0.8.1 lib/volt/page/bindings/base_binding.rb
volt-0.8.0 lib/volt/page/bindings/base_binding.rb