class Muwu::ProjectValidator
Public Class Methods
new(project)
click to toggle source
# File lib/muwu/project_builder/project_validator.rb, line 8 def initialize(project) @project = project end
Public Instance Methods
validate_dir_compiled()
click to toggle source
# 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()
click to toggle source
# 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
validate_file_metadata()
click to toggle source
# 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()
click to toggle source
# 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()
click to toggle source
# 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()
click to toggle source
# 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()
click to toggle source
# 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_subcontents(index)
click to toggle source
# 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
validate_output_destination_and_formats()
click to toggle source
# 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()
click to toggle source
# File lib/muwu/project_builder/project_validator.rb, line 121 def validate_scenario_if_more_than_one_document if @project.outline_has_more_than_one_document && @project.output_destination_requests_stdout @project.exceptions_add ProjectException::MultipleDocumentsOutlinedWithStdout.new end if @project.outline_has_more_than_one_document && @project.will_embed_at_least_one_asset @project.exceptions_add ProjectException::DryOutputRecommendedWithMultipleDocuments.new end end
validate_task_metadata(task)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# File lib/muwu/project_builder/project_validator.rb, line 174 def validate_task_title(task) return validate_task_metadata(task) end