Class: Muwu::ProjectValidator
- Inherits:
-
Object
- Object
- Muwu::ProjectValidator
show all
- Includes:
- Muwu
- Defined in:
- lib/muwu/project_builder/project_validator.rb
Constant Summary
Constants included
from Muwu
GEM_HOME_LIB, GEM_HOME_LIB_MUWU, VERSION
Instance Method Summary
collapse
Methods included from Muwu
debug, read
Constructor Details
Returns a new instance of ProjectValidator.
8
9
10
|
# File 'lib/muwu/project_builder/project_validator.rb', line 8
def initialize(project)
@project = project
end
|
Instance Method Details
#validate_dir_compiled ⇒ Object
17
18
19
20
21
22
23
24
|
# File 'lib/muwu/project_builder/project_validator.rb', line 17
def validate_dir_compiled
if @project.path_compiled_does_exist
return true
else
@project.exceptions_add ProjectException::CompiledFolderNotFound.new(@project)
return false
end
end
|
#validate_file_css ⇒ Object
27
28
29
30
31
32
33
34
|
# File 'lib/muwu/project_builder/project_validator.rb', line 27
def validate_file_css
if @project.css_manifest_file_does_exist
return true
else
@project.exceptions_add ProjectException::CssManifestFileNotFound.new(@project.css_manifest_filename)
return false
end
end
|
37
38
39
40
41
42
43
44
|
# File 'lib/muwu/project_builder/project_validator.rb', line 37
def validate_file_metadata
if @project.metadata_file_does_exist
return true
else
@project.exceptions_add ProjectException::MetadataFileNotFound.new(@project)
return false
end
end
|
#validate_file_options ⇒ Object
47
48
49
50
51
52
53
54
|
# File 'lib/muwu/project_builder/project_validator.rb', line 47
def validate_file_options
if @project.options_file_does_exist
return true
else
@project.exceptions_add ProjectException::OptionsFileNotFound.new(@project)
return false
end
end
|
#validate_file_outline ⇒ Object
57
58
59
60
61
62
63
64
|
# File 'lib/muwu/project_builder/project_validator.rb', line 57
def validate_file_outline
if @project.outline_file_does_exist
return true
else
@project.exceptions_add ProjectException::OutlineFileNotFound.new(@project)
return false
end
end
|
#validate_option_remote_publish ⇒ Object
67
68
69
70
71
|
# File 'lib/muwu/project_builder/project_validator.rb', line 67
def validate_option_remote_publish
if @project.options.remote_publish.to_s == ''
@project.exceptions_add ProjectException::OptionRemotePublishValueNil.new
end
end
|
#validate_option_remote_sync ⇒ Object
74
75
76
77
78
|
# File 'lib/muwu/project_builder/project_validator.rb', line 74
def validate_option_remote_sync
if @project.options.remote_sync.to_s == ''
@project.exceptions_add ProjectException::OptionRemoteSyncValueNil.new
end
end
|
#validate_outline_step_navigator(index) ⇒ Object
81
82
83
84
|
# File 'lib/muwu/project_builder/project_validator.rb', line 81
def validate_outline_step_navigator(index)
validate_outline_step_navigator_if_single_document(index)
return validate_outline_step_navigator_if_automatic(index)
end
|
#validate_outline_step_navigator_if_automatic(index) ⇒ Object
87
88
89
90
91
92
93
94
|
# File 'lib/muwu/project_builder/project_validator.rb', line 87
def validate_outline_step_navigator_if_automatic(index)
if @project.will_not_generate_navigators_automatically
return true
elsif @project.will_generate_navigators_automatically
@project.exceptions_add ProjectException::NavigatorsWillBeGeneratedAutomatically.new(index)
return false
end
end
|
#validate_outline_step_navigator_if_single_document(index) ⇒ Object
#validate_outline_step_subcontents(index) ⇒ Object
104
105
106
107
108
109
110
111
|
# File 'lib/muwu/project_builder/project_validator.rb', line 104
def validate_outline_step_subcontents(index)
if @project.will_not_generate_subcontents_automatically
return true
elsif @project.will_generate_subcontents_automatically
@project.exceptions_add ProjectException::SubcontentsWillBeGeneratedAutomatically.new(@index)
return false
end
end
|
114
115
116
117
118
|
# File 'lib/muwu/project_builder/project_validator.rb', line 114
def validate_output_destination_and_formats
if @project.output_destination_requests_stdout && @project.output_formats_several
@project.exceptions_add ProjectException::MultipleFormatsRequestedWithStdout.new
end
end
|
#validate_scenario_if_more_than_one_document ⇒ Object
131
132
133
134
135
136
137
138
139
|
# File 'lib/muwu/project_builder/project_validator.rb', line 131
def validate_task_metadata(task)
values_missing = task.metadata.select { |k,v| v.to_s == ''}
if values_missing.empty?
return true
else
values_missing.each_pair { |k,v| @project.exceptions_add ProjectException::MetadataValueNotGiven.new(task, k) }
return false
end
end
|
#validate_task_text_item(task) ⇒ Object
142
143
144
145
146
147
148
|
# File 'lib/muwu/project_builder/project_validator.rb', line 142
def validate_task_text_item(task)
if task.is_parent_heading
return validate_task_text_item_parent_heading(task)
elsif task.is_not_parent_heading
return validate_task_text_item_child_heading(task)
end
end
|
#validate_task_text_item_child_heading(task) ⇒ Object
151
152
153
154
155
156
157
158
|
# File 'lib/muwu/project_builder/project_validator.rb', line 151
def validate_task_text_item_child_heading(task)
if task.source_file_does_exist
return true
else
@project.exceptions_add ProjectException::TextSourceFileNotFound.new(task)
return false
end
end
|
#validate_task_text_item_parent_heading(task) ⇒ Object
161
162
163
164
165
166
167
168
169
170
|
# File 'lib/muwu/project_builder/project_validator.rb', line 161
def validate_task_text_item_parent_heading(task)
if task.source_file_does_exist
return true
else
if @project.options.warning_if_parent_heading_lacks_source
@project.exceptions_add ProjectException::TextSourceFileNotFound.new(task)
return false
end
end
end
|
#validate_task_title(task) ⇒ Object
174
175
176
|
# File 'lib/muwu/project_builder/project_validator.rb', line 174
def validate_task_title(task)
return validate_task_metadata(task)
end
|