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
16 17 18 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 16 def address root_document.href_to_other_body(document) end |
#children ⇒ Array
Returns Document’s children mapped to document builders.
21 22 23 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 21 def children document.children.map { |c| self.class.new(child_docs, c, depth + 1) }.sort end |
#lines_for_children? ⇒ Boolean
26 27 28 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 26 def lines_for_children? child_docs.maximum_depth.negative? || child_docs.maximum_depth <= depth end |
#link ⇒ String
31 32 33 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 31 def link "link:#{address}[#{title}]" end |
#result ⇒ Array<String>
36 37 38 39 40 41 42 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 36 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
45 46 47 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 45 def root_document child_docs.document end |
#self_line ⇒ String
50 51 52 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 50 def self_line "#{'*' * depth} #{link}" end |
#title ⇒ String
55 56 57 |
# File 'lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb', line 55 def title document.source_document.title end |