Class: Muwu::ManifestTaskBuilders::NavigatorBuilder

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

#initializeNavigatorBuilder

Returns a new instance of NavigatorBuilder.



23
24
25
# File 'lib/muwu/manifest_task_builder/navigator_builder.rb', line 23

def initialize
  @navigator = ManifestTask::Navigator.new
end

Instance Attribute Details

#documentObject

Returns the value of attribute document.



9
10
11
# File 'lib/muwu/manifest_task_builder/navigator_builder.rb', line 9

def document
  @document
end

Returns the value of attribute navigator.



9
10
11
# File 'lib/muwu/manifest_task_builder/navigator_builder.rb', line 9

def navigator
  @navigator
end

#outline_stepObject

Returns the value of attribute outline_step.



9
10
11
# File 'lib/muwu/manifest_task_builder/navigator_builder.rb', line 9

def outline_step
  @outline_step
end

#projectObject

Returns the value of attribute project.



9
10
11
# File 'lib/muwu/manifest_task_builder/navigator_builder.rb', line 9

def project
  @project
end

Class Method Details

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

Yields:

  • (builder)


16
17
18
19
20
# File 'lib/muwu/manifest_task_builder/navigator_builder.rb', line 16

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

Instance Method Details

#build_from_outline(document) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/muwu/manifest_task_builder/navigator_builder.rb', line 28

def build_from_outline(document)
  @document = document
  @project = document.project
  set_destination
  set_document_home_index
  set_document_next_index
  set_document_prev_index
  set_heading
  set_index
  set_project
end

#set_destinationObject



41
42
43
# File 'lib/muwu/manifest_task_builder/navigator_builder.rb', line 41

def set_destination
  @navigator.destination = @document.destination
end

#set_document_home_indexObject



46
47
48
# File 'lib/muwu/manifest_task_builder/navigator_builder.rb', line 46

def set_document_home_index
  @navigator.document_home_index = 0
end

#set_document_next_indexObject



51
52
53
# File 'lib/muwu/manifest_task_builder/navigator_builder.rb', line 51

def set_document_next_index
  @navigator.document_next_index = (@document.index + 1) % @project.outline.length
end

#set_document_prev_indexObject



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

def set_document_prev_index
  @navigator.document_prev_index = (@document.index - 1) % @project.outline.length
end

#set_headingObject



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

def set_heading
  @navigator.heading = @project.title
end

#set_indexObject



66
67
68
# File 'lib/muwu/manifest_task_builder/navigator_builder.rb', line 66

def set_index
  @navigator.index = @document.index
end

#set_projectObject



71
72
73
# File 'lib/muwu/manifest_task_builder/navigator_builder.rb', line 71

def set_project
  @navigator.project = @project
end