Class: Muwu::ManifestTaskBuilders::DocumentHtmlBuilder

Inherits:
Object
  • Object
show all
Includes:
Muwu, Helper
Defined in:
lib/muwu/manifest_task_builder/document_html_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

#initializeDocumentHtmlBuilder

Returns a new instance of DocumentHtmlBuilder.



26
27
28
# File 'lib/muwu/manifest_task_builder/document_html_builder.rb', line 26

def initialize
  @document = ManifestTask::DocumentHtml.new
end

Instance Attribute Details

#documentObject

Returns the value of attribute document.



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

def document
  @document
end

#indexObject

Returns the value of attribute index.



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

def index
  @index
end

#outlineObject

Returns the value of attribute outline.



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

def outline
  @outline
end

#projectObject

Returns the value of attribute project.



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

def project
  @project
end

#validatorObject

Returns the value of attribute validator.



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

def validator
  @validator
end

Class Method Details

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

Yields:

  • (builder)


19
20
21
22
23
# File 'lib/muwu/manifest_task_builder/document_html_builder.rb', line 19

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

Instance Method Details

#build_document(project, index, outline_fragment_document) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
# 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_methodObject



46
47
48
49
50
51
52
53
# 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_destinationObject



56
57
58
# File 'lib/muwu/manifest_task_builder/document_html_builder.rb', line 56

def set_destination
  @document.destination = build_destination
end

#set_indexObject



61
62
63
# File 'lib/muwu/manifest_task_builder/document_html_builder.rb', line 61

def set_index
  @document.index = @index
end

#set_js_filename_and_include_methodObject



66
67
68
69
70
71
72
73
74
75
76
77
# 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_librariesObject



80
81
82
83
84
# 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_projectObject



87
88
89
# File 'lib/muwu/manifest_task_builder/document_html_builder.rb', line 87

def set_project
  @document.project = @project
end

#set_tasksObject



92
93
94
95
96
# 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