class Muwu::ManifestTaskBuilders::DocumentHtmlBuilder
Attributes
document[RW]
index[RW]
outline[RW]
project[RW]
validator[RW]
Public Class Methods
build() { |builder| ... }
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 19 def self.build builder = new yield(builder) builder.document end
new()
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 26 def initialize @document = ManifestTask::DocumentHtml.new end
Public Instance Methods
build_document(project, index, outline_fragment_document)
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 31 def build_document(project, index, outline_fragment_document) @index = index @outline = outline_fragment_document @project = project @validator = ProjectValidator.new(@project) set_destination set_index set_css_filename_and_include_method set_js_filename_and_include_method set_js_libraries set_project set_tasks end
set_css_filename_and_include_method()
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 46 def set_css_filename_and_include_method if @project.will_create_css_file @document.css_filename = @project.css_basename + '.css' @document.css_include_method = :link else @document.css_include_method = :embed end end
set_destination()
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 56 def set_destination @document.destination = build_destination end
set_index()
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 61 def set_index @document.index = @index end
set_js_filename_and_include_method()
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 66 def set_js_filename_and_include_method if @project.will_require_javascript_libraries if @project.will_create_javascript_file @document.js_filename = @project.js_basename + '.js' @document.js_include_method = :link else @document.js_include_method = :embed end else @document.js_include_method = :none end end
set_js_libraries()
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 80 def set_js_libraries if @document.js_include_method == :embed @document.js_head_libraries = @project.javascript_libraries_requested end end
set_project()
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 87 def set_project @document.project = @project end
set_tasks()
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 92 def set_tasks @document.tasks = determine_tasks generate_subcontents_per_options generate_navigators_per_options end
Private Instance Methods
build_destination()
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 103 def build_destination DestinationBuilder.build do |b| b.build_html(@project, @index) end end
build_task_contents(outline_step)
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 110 def build_task_contents(outline_step) ManifestTaskBuilders::ContentsBuilder.build do |b| b.build_from_outline(outline_step, @document) end end
build_task_metadata(outline_step)
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 117 def build_task_metadata(outline_step) ManifestTaskBuilders::MetadataBuilder.build do |b| b.build_from_outline(outline_step, @document) end end
build_task_subcontents(outline_step: 'subcontents')
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 131 def build_task_subcontents(outline_step: 'subcontents') ManifestTaskBuilders::SubcontentsBuilder.build do |b| b.build_from_document(outline_step, @document) end end
build_task_text(outline_step)
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 138 def build_task_text(outline_step) ManifestTaskBuilders::TextBuilder.build do |b| b.build_from_outline(outline_step, @document) end end
build_task_title(outline_step)
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 145 def build_task_title(outline_step) ManifestTaskBuilders::TitleBuilder.build do |b| b.build_from_outline(outline_step, @document) end end
determine_tasks()
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 152 def determine_tasks tasks = [] @outline.each do |step| case OutlineHelper.type_of(step) when :contents tasks << build_task_contents(step) when :metadata tasks << build_task_metadata(step) when :navigator if @validator.validate_outline_step_navigator(@index) tasks << build_task_navigator end when :subcontents if @validator.validate_outline_step_subcontents(@index) tasks << build_task_subcontents(outline_step: step) end when :text tasks << build_task_text(step) when :title tasks << build_task_title(step) else @project.exceptions_add ProjectException::OutlineStepNotUnderstood.new(step) end end tasks end
generate_subcontents_per_options()
click to toggle source
# File lib/muwu/manifest_task_builder/document_html_builder.rb, line 196 def generate_subcontents_per_options if @document.will_generate_subcontents_automatically @document.tasks.prepend(build_task_subcontents) end end