Class: Avm::EacAsciidoctorBase0::Instances::Macros::ChildDocs::DocumentBuilder
- Inherits:
-
Object
- Object
- Avm::EacAsciidoctorBase0::Instances::Macros::ChildDocs::DocumentBuilder
- Defined in:
- lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb
Instance Method Summary collapse
- #address ⇒ Pathname
-
#children ⇒ Array
Document’s children mapped to document builders.
- #lines_for_children? ⇒ Boolean
- #link ⇒ String
- #result ⇒ Array<String>
- #root_document ⇒ Avm::EacAsciidoctorBase0::Instances::Build::Document
- #self_line ⇒ String
- #title ⇒ String
Instance Method Details
#address ⇒ Pathname
13 14 15 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 13 def address root_document.href_to_other_body(document) end |
#children ⇒ Array
Returns Document’s children mapped to document builders.
18 19 20 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 18 def children document.children.map { |c| self.class.new(child_docs, c, depth + 1) }.sort end |
#lines_for_children? ⇒ Boolean
23 24 25 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 23 def lines_for_children? child_docs.maximum_depth.negative? || child_docs.maximum_depth <= depth end |
#link ⇒ String
28 29 30 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 28 def link "link:#{address}[#{title}]" end |
#result ⇒ Array<String>
33 34 35 36 37 38 39 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 33 def result children.flat_map do |child| r = [child.self_line] r += child.result if lines_for_children? r end end |
#root_document ⇒ Avm::EacAsciidoctorBase0::Instances::Build::Document
42 43 44 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 42 def root_document child_docs.document end |
#self_line ⇒ String
47 48 49 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 47 def self_line "#{'*' * depth} #{link}" end |
#title ⇒ String
52 53 54 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 52 def title document.source_document.title end |