Method: Webgen::ItemTracker::MissingNode#initialize

Defined in:
lib/webgen/item_tracker/missing_node.rb

#initialize(website) ⇒ MissingNode

:nodoc:



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/webgen/item_tracker/missing_node.rb', line 20

def initialize(website) #:nodoc:
  @website = website
  @at_least_one_node_created = true
  @stop_reporting = false
  @nodes_to_ignore = Set.new

  @website.blackboard.add_listener(:reused_existing_node, 'item_tracker.missing_node') do |node, path|
    @nodes_to_ignore << node
  end
  @website.blackboard.add_listener(:after_node_created, 'item_tracker.missing_node') do |node|
    @at_least_one_node_created = true unless @nodes_to_ignore.include?(node)
  end
  @website.blackboard.add_listener(:after_all_nodes_written, 'item_tracker.missing_node') do
    if @at_least_one_node_created
      @at_least_one_node_created = false
    else
      @stop_reporting = true
    end
    @nodes_to_ignore = Set.new
  end
  @website.blackboard.add_listener(:website_generated, 'item_tracker.missing_node') do
    @at_least_one_node_created = true
    @stop_reporting = false
    @nodes_to_ignore = Set.new
  end
end