class Muwu::ManifestTaskBuilders::TextBuilder
Attributes
outline_text[RW]
parent_document[RW]
project[RW]
text[RW]
Public Class Methods
build() { |builder| ... }
click to toggle source
# File lib/muwu/manifest_task_builder/text_builder.rb, line 18 def self.build builder = new yield(builder) builder.text end
new()
click to toggle source
# File lib/muwu/manifest_task_builder/text_builder.rb, line 25 def initialize @text = ManifestTask::Text.new end
Public Instance Methods
build_from_outline(outline_text, parent_document)
click to toggle source
# File lib/muwu/manifest_task_builder/text_builder.rb, line 30 def build_from_outline(outline_text, parent_document) @outline_text = outline_text @parent_document = parent_document @project = parent_document.project set_project set_destination set_naming set_numbering set_sections end
set_destination()
click to toggle source
# File lib/muwu/manifest_task_builder/text_builder.rb, line 42 def set_destination @text.destination = @parent_document.destination end
set_naming()
click to toggle source
# File lib/muwu/manifest_task_builder/text_builder.rb, line 47 def set_naming @text.naming = [determine_text_block_name] end
set_numbering()
click to toggle source
# File lib/muwu/manifest_task_builder/text_builder.rb, line 52 def set_numbering @text.numbering = [] end
set_project()
click to toggle source
# File lib/muwu/manifest_task_builder/text_builder.rb, line 57 def set_project @text.project = @project end
set_sections()
click to toggle source
# File lib/muwu/manifest_task_builder/text_builder.rb, line 62 def set_sections @text.sections = build_sections end
Private Instance Methods
build_sections()
click to toggle source
# File lib/muwu/manifest_task_builder/text_builder.rb, line 71 def build_sections sections = [] child_steps = determine_text_block_steps if child_steps.empty? == false child_section_numbering = section_number_extend(@text.numbering) child_steps.each do |step| child_section_numbering = section_number_find(child_section_numbering, step) sections << build_text_item(step, child_section_numbering) end end sections end
build_text_item(step, section_numbering)
click to toggle source
# File lib/muwu/manifest_task_builder/text_builder.rb, line 85 def build_text_item(step, section_numbering) ManifestTaskBuilders::TextItemBuilder.build do |b| b.build_from_outline_fragment_text(step, section_numbering, @text) end end
determine_text_block_name()
click to toggle source
# File lib/muwu/manifest_task_builder/text_builder.rb, line 92 def determine_text_block_name directive = @outline_text.flatten[0] components = directive.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
determine_text_block_steps()
click to toggle source
# File lib/muwu/manifest_task_builder/text_builder.rb, line 103 def determine_text_block_steps @outline_text.flatten[1] end
section_number_extend(number_incoming)
click to toggle source
# File lib/muwu/manifest_task_builder/text_builder.rb, line 108 def section_number_extend(number_incoming) number_outgoing = number_incoming.clone number_outgoing << 0 number_outgoing end
section_number_find(number_incoming, step)
click to toggle source
# File lib/muwu/manifest_task_builder/text_builder.rb, line 115 def section_number_find(number_incoming, step) number_outgoing = number_incoming.clone sorted_outline_steps = @project.outline_text_blocks_named(@text.text_root_name) number_outgoing[-1] = sorted_outline_steps.index(step) + 1 number_outgoing end