Sha256: bcc14c0ea92fb72c2e8ea2acc3a6f2c439c09e5af9fc2b460fc2116584e7ce09

Contents?: true

Size: 1.27 KB

Versions: 41

Compression:

Stored size: 1.27 KB

Contents

# frozen_string_literal: true

require 'asciidoctor'
require 'eac_ruby_utils/core_ext'

module Avm
  module EacAsciidoctorBase0
    module Sources
      class Base
        class Document
          enable_simple_cache
          enable_speaker
          require_sub __FILE__, include_modules: true
          common_constructor :source, :parent_document, :basename

          # Absolute path to the Asciidoctor file.
          #
          # @return [Pathname]
          def body_path
            root_path.join(
              ::Avm::EacAsciidoctorBase0::Sources::Base::CONTENT_DOCUMENT_BASENAME
            )
          end

          # Absolute path to the document's source root.
          #
          # @return [Pathname]
          def root_path
            source.content_directory.join(subpath)
          end

          # @return [Pathname]
          def subpath
            parent_document.if_present('.'.to_pathname) { |pd| pd.subpath.join(basename) }
          end

          private

          def children_uncached
            root_path.children.select(&:directory?)
                     .reject { |path| path.basename.to_path == MEDIA_DIRECTORY_BASENAME }
                     .map { |path| self.class.new(source, self, path.basename) }
          end
        end
      end
    end
  end
end

Version data entries

41 entries across 41 versions & 2 rubygems

Version Path
eac_tools-0.82.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.81.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.80.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.79.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.78.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.77.1 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.77.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.76.1 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.76.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.75.2 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.75.1 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.75.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.74.1 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.74.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.73.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.72.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.70.1 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.70.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.69.1 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb
eac_tools-0.69.0 sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/document.rb