class Muwu::ManifestTaskBuilders::ContentsBuilder

Attributes

outline_contents[RW]
parent_document[RW]
task[RW]

Public Class Methods

build() { |builder| ... } click to toggle source
# File lib/muwu/manifest_task_builder/contents_builder.rb, line 17
def self.build
  builder = new
  yield(builder)
  builder.task
end
new() click to toggle source
# File lib/muwu/manifest_task_builder/contents_builder.rb, line 24
def initialize
  @task = ManifestTask::Contents.new
end

Public Instance Methods

build_from_outline(outline_step, parent_document) click to toggle source
# File lib/muwu/manifest_task_builder/contents_builder.rb, line 29
def build_from_outline(outline_step, parent_document)
  @outline_contents = 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/contents_builder.rb, line 42
def phase_1_set_parent
  @task.parent = @parent_document
end
phase_1_set_project() click to toggle source
# File lib/muwu/manifest_task_builder/contents_builder.rb, line 47
def phase_1_set_project
  @task.project = @project
end
phase_2_set_destination() click to toggle source
# File lib/muwu/manifest_task_builder/contents_builder.rb, line 52
def phase_2_set_destination
  @task.destination = @parent_document.destination
end
phase_2_set_text_root_name() click to toggle source
# File lib/muwu/manifest_task_builder/contents_builder.rb, line 57
def phase_2_set_text_root_name
  @task.text_root_name = determine_text_root_name
end
phase_3_set_item_depth_max() click to toggle source
# File lib/muwu/manifest_task_builder/contents_builder.rb, line 62
def phase_3_set_item_depth_max
  @task.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/contents_builder.rb, line 67
def phase_3_set_will_render_section_numbers
  @task.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/contents_builder.rb, line 76
def determine_text_root_name
  components = @outline_contents.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