class Muwu::ProjectOptionsReader
Attributes
options_from_file[RW]
options_validated[RW]
project_options[RW]
Public Class Methods
build() { |builder| ... }
click to toggle source
# File lib/muwu/project_options_builder/project_options_reader.rb, line 18 def self.build builder = new yield(builder) builder.project_options end
new()
click to toggle source
# File lib/muwu/project_options_builder/project_options_reader.rb, line 25 def initialize @options_from_file = {} @options_validated = {} @project_options = ProjectOptions.new end
Public Instance Methods
build_from_ymlfile(project)
click to toggle source
# File lib/muwu/project_options_builder/project_options_reader.rb, line 36 def build_from_ymlfile(project) @project = project phase_1_read_options_file phase_2_validate_options_file phase_3_set_project_options end
phase_1_read_options_file()
click to toggle source
# File lib/muwu/project_options_builder/project_options_reader.rb, line 44 def phase_1_read_options_file if ProjectValidator.new(@project).validate_file_options @options_from_file = YAML.load_file(@project.options_filename) end end
phase_2_validate_options_file()
click to toggle source
# File lib/muwu/project_options_builder/project_options_reader.rb, line 51 def phase_2_validate_options_file @options_validated = validate_options(@options_from_file) end
phase_3_set_project_options()
click to toggle source
# File lib/muwu/project_options_builder/project_options_reader.rb, line 56 def phase_3_set_project_options @options_validated.each_pair do |key, value| @project_options.set_option(key, value) end end
Private Instance Methods
validate_options(options)
click to toggle source
# File lib/muwu/project_options_builder/project_options_reader.rb, line 67 def validate_options(options) result = {} options.each_pair do |key, value| valid_option = ProjectOptionValidator.new_if_valid_key(key, value, @project) if valid_option result[valid_option.key] = valid_option.value end end result.reject { |k,v| (v == nil) || (v == '') } end