Class: Muwu::ManifestTaskBuilders::TopicBuilder
- Inherits:
-
Object
- Object
- Muwu::ManifestTaskBuilders::TopicBuilder
show all
- Includes:
- Muwu, Helper
- Defined in:
- lib/muwu/manifest_task_builder/topic_builder.rb
Constant Summary
collapse
- @@topic_id =
0
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
Returns a new instance of TopicBuilder.
31
32
33
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 31
def initialize
@topic = ManifestTask::Topic.new
end
|
Instance Attribute Details
#heading_data ⇒ Object
Returns the value of attribute heading_data.
13
14
15
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 13
def heading_data
@heading_data
end
|
#numbering ⇒ Object
Returns the value of attribute numbering.
13
14
15
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 13
def numbering
@numbering
end
|
#outline_fragment ⇒ Object
Returns the value of attribute outline_fragment.
13
14
15
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 13
def outline_fragment
@outline_fragment
end
|
#parent_manifest_text ⇒ Object
Returns the value of attribute parent_manifest_text.
13
14
15
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 13
def parent_manifest_text
@parent_manifest_text
end
|
#project ⇒ Object
Returns the value of attribute project.
13
14
15
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 13
def project
@project
end
|
#source_filename ⇒ Object
Returns the value of attribute source_filename.
13
14
15
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 13
def source_filename
@source_filename
end
|
#topic ⇒ Object
Returns the value of attribute topic.
13
14
15
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 13
def topic
@topic
end
|
Class Method Details
.build {|builder| ... } ⇒ Object
24
25
26
27
28
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 24
def self.build
builder = new
yield(builder)
builder.topic
end
|
Instance Method Details
#build_from_outline_fragment_text(outline_fragment, numbering, parent_manifest_text) ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 36
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_id
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_subtopics
phase_6_validate_file_presence
end
|
#phase_1_set_id ⇒ Object
53
54
55
56
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 53
def phase_1_set_id
@topic.id = @@topic_id
@@topic_id = @@topic_id.next
end
|
#phase_1_set_project ⇒ Object
59
60
61
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 59
def phase_1_set_project
@topic.project = @project
end
|
#phase_2_set_source_filename ⇒ Object
64
65
66
67
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 64
def phase_2_set_source_filename
@source_filename = determine_source_filename
@topic.source_filename = @source_filename
end
|
#phase_3_set_heading ⇒ Object
70
71
72
73
74
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 70
def phase_3_set_heading
@heading_data = determine_heading_data
@topic.heading = @heading_data[:heading]
@topic.heading_origin = @heading_data[:origin]
end
|
#phase_4_set_destination ⇒ Object
77
78
79
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 77
def phase_4_set_destination
@topic.destination = @parent_manifest_text.destination
end
|
#phase_4_set_naming ⇒ Object
82
83
84
85
86
87
88
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 82
def phase_4_set_naming
if Hash === @outline_fragment
@topic.naming = [@parent_manifest_text.naming, SanitizerHelper.sanitize_topic_path(outline_step)].flatten
else
@topic.naming = [@parent_manifest_text.naming, @heading_data[:heading]].flatten
end
end
|
#phase_4_set_numbering ⇒ Object
91
92
93
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 91
def phase_4_set_numbering
@topic.numbering = @numbering
end
|
#phase_5_set_subtopics ⇒ Object
96
97
98
99
100
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 96
def phase_5_set_subtopics
if Hash === @outline_fragment
@topic.subtopics = determine_subtopics
end
end
|
#phase_6_validate_file_presence ⇒ Object
103
104
105
|
# File 'lib/muwu/manifest_task_builder/topic_builder.rb', line 103
def phase_6_validate_file_presence
ProjectValidator.new(@project).validate_task_topic(@topic)
end
|