Sha256: 4e7f3141276cf2ad53bd2f1b692d9e9b9f7922b8b063fd97ed965f659712cb89
Contents?: true
Size: 1.25 KB
Versions: 2
Compression:
Stored size: 1.25 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. module Volt class BaseBinding attr_accessor :target, :context, :binding_name, :volt_app def initialize(volt_app, target, context, binding_name) @volt_app = volt_app @target = target @context = context @binding_name = binding_name @@binding_number ||= 10_000 end def page @volt_app.page 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 end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
volt-0.9.3.pre3 | lib/volt/page/bindings/base_binding.rb |
volt-0.9.3.pre2 | lib/volt/page/bindings/base_binding.rb |