Class: Litbuild::MultiPartVisitor

Inherits:
Visitor
  • Object
show all
Defined in:
lib/litbuild/multi_part_visitor.rb

Overview

This is a base class for Visitors that can be sent to multiple Parts and/or Appendices. It is appropriate for Visitors like AsciiDocVisitors.

Direct Known Subclasses

AsciiDocVisitor

Instance Method Summary collapse

Methods inherited from Visitor

#in_subdirectory, #visit_commands, #visit_narrative, #visit_package, #visit_section

Constructor Details

#initialize(directory:) ⇒ MultiPartVisitor

Returns a new instance of MultiPartVisitor.



12
13
14
15
16
# File 'lib/litbuild/multi_part_visitor.rb', line 12

def initialize(directory:)
  super
  @other_parts = []
  @appendices = []
end

Instance Method Details

#visit_appendix(appendix) ⇒ Object

We need to call some methods on the appendix blueprint, so we store the entire appendix rather than just the name.



25
26
27
28
# File 'lib/litbuild/multi_part_visitor.rb', line 25

def visit_appendix(appendix)
  @appendices << appendix
  appendix.accept(visitor: self)
end

#visit_part(part) ⇒ Object



18
19
20
21
# File 'lib/litbuild/multi_part_visitor.rb', line 18

def visit_part(part)
  @other_parts << part.name
  part.accept(visitor: self)
end