class Muwu::ManifestTaskBuilders::SubcontentsBuilder

Attributes

manifest_subcontents[RW]
outline_subcontents[RW]
parent_document[RW]
project[RW]

Public Class Methods

build() { |builder| ... } click to toggle source
# File lib/muwu/manifest_task_builder/subcontents_builder.rb, line 18
def self.build
  builder = new
  yield(builder)
  builder.manifest_subcontents
end
new() click to toggle source
# File lib/muwu/manifest_task_builder/subcontents_builder.rb, line 25
def initialize
  @manifest_subcontents = ManifestTask::Subcontents.new
end

Public Instance Methods

build_from_document(outline_step, parent_document) click to toggle source
# File lib/muwu/manifest_task_builder/subcontents_builder.rb, line 30
def build_from_document(outline_step, parent_document)
  @outline_subcontents = outline_step
  @parent_document = parent_document
  @project = parent_document.project
  phase_1_set_parent
  phase_1_set_project
  phase_2_set_destination
  phase_2_set_text_root_name
  phase_3_set_item_depth_max
  phase_3_set_will_render_section_numbers
end
phase_1_set_parent() click to toggle source
# File lib/muwu/manifest_task_builder/subcontents_builder.rb, line 43
def phase_1_set_parent
  @manifest_subcontents.parent = @parent_document
end
phase_1_set_project() click to toggle source
# File lib/muwu/manifest_task_builder/subcontents_builder.rb, line 48
def phase_1_set_project
  @manifest_subcontents.project = @project
end
phase_2_set_destination() click to toggle source
# File lib/muwu/manifest_task_builder/subcontents_builder.rb, line 53
def phase_2_set_destination
  @manifest_subcontents.destination = @parent_document.destination
end
phase_2_set_text_root_name() click to toggle source
# File lib/muwu/manifest_task_builder/subcontents_builder.rb, line 58
def phase_2_set_text_root_name
  @manifest_subcontents.text_root_name = determine_text_root_name
end
phase_3_set_item_depth_max() click to toggle source
# File lib/muwu/manifest_task_builder/subcontents_builder.rb, line 63
def phase_3_set_item_depth_max
  @manifest_subcontents.item_depth_max = @project.options.render_sections_distinctly_depth_max
end
phase_3_set_will_render_section_numbers() click to toggle source
# File lib/muwu/manifest_task_builder/subcontents_builder.rb, line 68
def phase_3_set_will_render_section_numbers
  @manifest_subcontents.will_render_section_numbers = @project.options.render_section_numbers
end

Private Instance Methods

determine_text_root_name() click to toggle source
# File lib/muwu/manifest_task_builder/subcontents_builder.rb, line 77
def determine_text_root_name
  components = @outline_subcontents.partition(RegexpLib.outline_text_plus_whitespace)
  text_block_name = components[2].to_s.downcase.strip
  if text_block_name == ''
    text_block_name = @project.default_text_block_name
  end
  text_block_name
end