Sha256: a3feb2d2dd5b4bd02245596b0e0bf700b2411ecf8a7785bfd2e9dcd7b42627d1

Contents?: true

Size: 1.21 KB

Versions: 35

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'

module Avm
  module EacAsciidoctorBase0
    module Instances
      class Build
        class Document
          class ChildDocsMacroValue
            enable_method_class
            common_constructor :document

            # @return [Array<String>]
            def result
              document.children.map { |child_doc| ChildDocLine.new(document, child_doc) }.sort
                      .map(&:result)
            end

            class ChildDocLine
              common_constructor :document, :child
              compare_by :title, :address

              # @return [Pathname]
              def address
                child.body_target_path.relative_path_from(
                  document.body_target_path.dirname
                )
              end

              # @return [String]
              def link
                "link:#{address}[#{title}]"
              end

              # @return [String]
              def result
                "* #{link}"
              end

              # @return [String]
              def title
                child.source_document.title
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 2 rubygems

Version Path
avm-eac_asciidoctor_base0-0.17.0 lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.59.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.58.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
avm-eac_asciidoctor_base0-0.16.0 lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.57.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.56.1 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.56.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.55.7 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.55.6 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.55.5 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.55.4 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.55.3 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.55.2 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.55.1 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.55.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.54.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
avm-eac_asciidoctor_base0-0.15.0 lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.53.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
avm-eac_asciidoctor_base0-0.14.0 lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb
eac_tools-0.52.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb