Class: Webgen::ItemTracker::TemplateChain
- Inherits:
-
Object
- Object
- Webgen::ItemTracker::TemplateChain
- Defined in:
- lib/webgen/item_tracker/template_chain.rb
Overview
This class is used to track the template chain for a node.
Note that only nodes that support the #template_chain method can be used (so all page, template and custom webgen nodes are okay).
The item for this tracker is the node whose template chain should be tracked, i.e. add an item like this:
website.ext.item_tracker.add(some_node, :template_chain, other_node)
Instance Method Summary collapse
-
#initialize(website) ⇒ TemplateChain
constructor
:nodoc:.
-
#item_changed?(alcn, old_chain) ⇒ Boolean
:nodoc:.
-
#item_data(alcn) ⇒ Object
:nodoc:.
-
#item_description(alcn, data) ⇒ Object
:nodoc:.
-
#item_id(node) ⇒ Object
:nodoc:.
-
#referenced_nodes(alcn, data) ⇒ Object
:nodoc:.
Constructor Details
#initialize(website) ⇒ TemplateChain
:nodoc:
20 21 22 |
# File 'lib/webgen/item_tracker/template_chain.rb', line 20 def initialize(website) #:nodoc: @website = website end |
Instance Method Details
#item_changed?(alcn, old_chain) ⇒ Boolean
:nodoc:
32 33 34 |
# File 'lib/webgen/item_tracker/template_chain.rb', line 32 def item_changed?(alcn, old_chain) #:nodoc: @website.tree[alcn].nil? || item_data(alcn) != old_chain end |
#item_data(alcn) ⇒ Object
:nodoc:
28 29 30 |
# File 'lib/webgen/item_tracker/template_chain.rb', line 28 def item_data(alcn) #:nodoc: nodes_to_alcn(@website.tree[alcn].template_chain) end |
#item_description(alcn, data) ⇒ Object
:nodoc:
40 41 42 |
# File 'lib/webgen/item_tracker/template_chain.rb', line 40 def item_description(alcn, data) #:nodoc: "Template chain for node '#{alcn}'" end |
#item_id(node) ⇒ Object
:nodoc:
24 25 26 |
# File 'lib/webgen/item_tracker/template_chain.rb', line 24 def item_id(node) #:nodoc: node.alcn end |
#referenced_nodes(alcn, data) ⇒ Object
:nodoc:
36 37 38 |
# File 'lib/webgen/item_tracker/template_chain.rb', line 36 def referenced_nodes(alcn, data) #:nodoc: [alcn] end |