Class: Muwu::ManifestTaskBuilders::TextItemBuilder

Inherits:
Object
  • Object
show all
Includes:
Muwu, Helper
Defined in:
lib/muwu/manifest_task_builder/text_item_builder.rb

Constant Summary

Constants included from Muwu

GEM_HOME_LIB, GEM_HOME_LIB_MUWU, VERSION

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Muwu

debug, read

Constructor Details

#initializeTextItemBuilder

Returns a new instance of TextItemBuilder.



28
29
30
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 28

def initialize
  @text_item = ManifestTask::TextItem.new
end

Instance Attribute Details

#heading_dataObject

Returns the value of attribute heading_data.



10
11
12
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 10

def heading_data
  @heading_data
end

#numberingObject

Returns the value of attribute numbering.



10
11
12
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 10

def numbering
  @numbering
end

#outline_fragmentObject

Returns the value of attribute outline_fragment.



10
11
12
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 10

def outline_fragment
  @outline_fragment
end

#parent_manifest_textObject

Returns the value of attribute parent_manifest_text.



10
11
12
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 10

def parent_manifest_text
  @parent_manifest_text
end

#projectObject

Returns the value of attribute project.



10
11
12
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 10

def project
  @project
end

#source_filenameObject

Returns the value of attribute source_filename.



10
11
12
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 10

def source_filename
  @source_filename
end

#text_itemObject

Returns the value of attribute text_item.



10
11
12
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 10

def text_item
  @text_item
end

Class Method Details

.build {|builder| ... } ⇒ Object

Yields:

  • (builder)


21
22
23
24
25
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 21

def self.build
  builder = new
  yield(builder)
  builder.text_item
end

Instance Method Details

#build_from_outline_fragment_text(outline_fragment, numbering, parent_manifest_text) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 33

def build_from_outline_fragment_text(outline_fragment, numbering, parent_manifest_text)
  @numbering = numbering
  @outline_fragment = outline_fragment
  @parent_manifest_text = parent_manifest_text
  @project = parent_manifest_text.project
  phase_1_set_project
  phase_2_set_source_filename
  phase_3_set_heading
  phase_4_set_destination
  phase_4_set_naming
  phase_4_set_numbering
  phase_5_set_sections
  phase_6_validate_file_presence
end

#phase_1_set_projectObject



49
50
51
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 49

def phase_1_set_project
  @text_item.project = @project
end

#phase_2_set_source_filenameObject



54
55
56
57
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 54

def phase_2_set_source_filename
  @source_filename = determine_source_filename
  @text_item.source_filename = @source_filename
end

#phase_3_set_headingObject



60
61
62
63
64
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 60

def phase_3_set_heading
  @heading_data = determine_heading_data
  @text_item.heading = @heading_data[:heading]
  @text_item.heading_origin = @heading_data[:origin]
end

#phase_4_set_destinationObject



67
68
69
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 67

def phase_4_set_destination
  @text_item.destination = @parent_manifest_text.destination
end

#phase_4_set_namingObject



72
73
74
75
76
77
78
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 72

def phase_4_set_naming
  if Hash === @outline_fragment
    @text_item.naming = [@parent_manifest_text.naming, SanitizerHelper.sanitize_text_item_path(outline_step)].flatten
  else
    @text_item.naming = [@parent_manifest_text.naming, @heading_data[:heading]].flatten
  end
end

#phase_4_set_numberingObject



81
82
83
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 81

def phase_4_set_numbering
  @text_item.numbering = @numbering
end

#phase_5_set_sectionsObject



86
87
88
89
90
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 86

def phase_5_set_sections
  if Hash === @outline_fragment
    @text_item.sections = determine_sections
  end
end

#phase_6_validate_file_presenceObject



93
94
95
# File 'lib/muwu/manifest_task_builder/text_item_builder.rb', line 93

def phase_6_validate_file_presence
  ProjectValidator.new(@project).validate_task_text_item(@text_item)
end