Class: Giblish::LayoutConfigResult

Inherits:
Object
  • Object
show all
Defined in:
lib/giblish/layout_config/layout_config_result.rb

Overview

AIDEV-NOTE: Immutable value object holding complete layout configuration

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(pre_builders:, post_builders:, adoc_extensions:, adoc_api_opts:, docattr_providers:) ⇒ LayoutConfigResult

Creates immutable layout configuration.

Parameters:

  • pre_builders (Array<Object>)

    Objects implementing on_prebuild(src_tree, dst_tree, converter)

  • post_builders (Array<Object>)

    Objects implementing on_postbuild(src_tree, dst_tree, converter)

  • adoc_extensions (Hash{Symbol => Array<Object>})

    Extension type to array of extension instances

  • adoc_api_opts (Hash{Symbol => Object})

    Options passed to Asciidoctor API

  • docattr_providers (Array<Object>)

    Objects implementing document_attributes(src_node, dst_node, dst_top)



26
27
28
29
30
31
32
33
# File 'lib/giblish/layout_config/layout_config_result.rb', line 26

def initialize(pre_builders:, post_builders:, adoc_extensions:, adoc_api_opts:, docattr_providers:)
  @pre_builders = pre_builders.freeze
  @post_builders = post_builders.freeze
  @adoc_extensions = adoc_extensions.freeze
  @adoc_api_opts = adoc_api_opts.freeze
  @docattr_providers = docattr_providers.freeze
  freeze
end

Instance Attribute Details

#adoc_api_optsHash{Symbol => Object} (readonly)

Returns Options passed to Asciidoctor API.

Returns:

  • (Hash{Symbol => Object})

    Options passed to Asciidoctor API



14
15
16
# File 'lib/giblish/layout_config/layout_config_result.rb', line 14

def adoc_api_opts
  @adoc_api_opts
end

#adoc_extensionsHash{Symbol => Array<Object>} (readonly)

Returns Asciidoctor extensions by type.

Returns:

  • (Hash{Symbol => Array<Object>})

    Asciidoctor extensions by type



11
12
13
# File 'lib/giblish/layout_config/layout_config_result.rb', line 11

def adoc_extensions
  @adoc_extensions
end

#docattr_providersArray<Object> (readonly)

Returns Document attribute providers.

Returns:

  • (Array<Object>)

    Document attribute providers



17
18
19
# File 'lib/giblish/layout_config/layout_config_result.rb', line 17

def docattr_providers
  @docattr_providers
end

#post_buildersArray<Object> (readonly)

Returns Post-build phase processors.

Returns:

  • (Array<Object>)

    Post-build phase processors



8
9
10
# File 'lib/giblish/layout_config/layout_config_result.rb', line 8

def post_builders
  @post_builders
end

#pre_buildersArray<Object> (readonly)

Returns Pre-build phase processors.

Returns:

  • (Array<Object>)

    Pre-build phase processors



5
6
7
# File 'lib/giblish/layout_config/layout_config_result.rb', line 5

def pre_builders
  @pre_builders
end