Class: Muwu::ProjectReader
- Inherits:
-
Object
- Object
- Muwu::ProjectReader
show all
- Includes:
- Muwu, Helper
- Defined in:
- lib/muwu/project_builder/project_reader.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
Returns a new instance of ProjectReader.
26
27
28
|
# File 'lib/muwu/project_builder/project_reader.rb', line 26
def initialize
@project = Muwu::Project.new
end
|
Instance Attribute Details
#path ⇒ Object
Returns the value of attribute path.
12
13
14
|
# File 'lib/muwu/project_builder/project_reader.rb', line 12
def path
@path
end
|
#project ⇒ Object
Returns the value of attribute project.
12
13
14
|
# File 'lib/muwu/project_builder/project_reader.rb', line 12
def project
@project
end
|
#validator ⇒ Object
Returns the value of attribute validator.
12
13
14
|
# File 'lib/muwu/project_builder/project_reader.rb', line 12
def validator
@validator
end
|
Class Method Details
.build {|builder| ... } ⇒ Object
19
20
21
22
23
|
# File 'lib/muwu/project_builder/project_reader.rb', line 19
def self.build
builder = new
yield(builder)
builder.project
end
|
Instance Method Details
#load_path(path) ⇒ Object
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/muwu/project_builder/project_reader.rb', line 31
def load_path(path)
@path = File.absolute_path(path)
@validator = ProjectValidator.new(@project)
phase_1_set_project_working_directory
phase_2_read_metadata
phase_2_read_options
phase_2_read_outline
phase_3_set_javascript_libraries_requested
phase_3_set_metadata_instance_date
phase_4_validate
phase_5_build_manifest
end
|
#phase_1_set_project_working_directory ⇒ Object
45
46
47
|
# File 'lib/muwu/project_builder/project_reader.rb', line 45
def phase_1_set_project_working_directory
@project.working_directory = @path
end
|
50
51
52
53
54
|
# File 'lib/muwu/project_builder/project_reader.rb', line 50
def phase_2_read_metadata
if @validator.validate_file_metadata
@project.metadata = YAML.load_file(@project.metadata_filename)
end
end
|
#phase_2_read_options ⇒ Object
57
58
59
|
# File 'lib/muwu/project_builder/project_reader.rb', line 57
def phase_2_read_options
@project.options = build_options
end
|
#phase_2_read_outline ⇒ Object
62
63
64
65
66
|
# File 'lib/muwu/project_builder/project_reader.rb', line 62
def phase_2_read_outline
if @validator.validate_file_outline
@project.outline = build_outline
end
end
|
#phase_3_set_javascript_libraries_requested ⇒ Object
69
70
71
|
# File 'lib/muwu/project_builder/project_reader.rb', line 69
def phase_3_set_javascript_libraries_requested
@project.javascript_libraries_requested = determine_javascript_libraries
end
|
74
75
76
|
# File 'lib/muwu/project_builder/project_reader.rb', line 74
def phase_3_set_metadata_instance_date
@project.metadata["date of this edition"] = @project.instance_date
end
|
#phase_4_validate ⇒ Object
79
80
81
82
83
84
85
86
|
# File 'lib/muwu/project_builder/project_reader.rb', line 79
def phase_4_validate
@validator.validate_dir_compiled
@validator.validate_file_css
@validator.validate_option_remote_publish
@validator.validate_option_remote_sync
@validator.validate_output_destination_and_formats
@validator.validate_scenario_if_more_than_one_document
end
|
#phase_5_build_manifest ⇒ Object
89
90
91
|
# File 'lib/muwu/project_builder/project_reader.rb', line 89
def phase_5_build_manifest
@project.manifest = build_manifest
end
|