Class: CIDE::ConfigFile
- Inherits:
-
Object
- Object
- CIDE::ConfigFile
- Includes:
- NiceInspect
- Defined in:
- lib/cide/config_file.rb
Defined Under Namespace
Modules: NiceInspect Classes: FileAdd, Link, PackageConfig, Step
Constant Summary collapse
- DOCKERFILE_TEMPLATE =
File.('../dockerfile_template.erb', __FILE__)
Instance Attribute Summary collapse
-
#errors ⇒ Object
readonly
Returns the value of attribute errors.
-
#warnings ⇒ Object
readonly
Returns the value of attribute warnings.
Class Method Summary collapse
- .find_config(dir) ⇒ Object
- .load(dir, output = $stderr) ⇒ Object
- .load_file(file_path, output = $stderr) ⇒ Object
Instance Method Summary collapse
-
#initialize ⇒ ConfigFile
constructor
A new instance of ConfigFile.
- #to_dockerfile ⇒ Object
Methods included from NiceInspect
Constructor Details
#initialize ⇒ ConfigFile
Returns a new instance of ConfigFile.
69 70 71 72 73 |
# File 'lib/cide/config_file.rb', line 69 def initialize(*) super @warnings = [] @errors = [] end |
Instance Attribute Details
#errors ⇒ Object (readonly)
Returns the value of attribute errors.
67 68 69 |
# File 'lib/cide/config_file.rb', line 67 def errors @errors end |
#warnings ⇒ Object (readonly)
Returns the value of attribute warnings.
67 68 69 |
# File 'lib/cide/config_file.rb', line 67 def warnings @warnings end |
Class Method Details
.find_config(dir) ⇒ Object
101 102 103 104 105 106 |
# File 'lib/cide/config_file.rb', line 101 def self.find_config(dir) paths = CONFIG_FILES.map { |name| File.(name, dir) } paths .find { |path| File.exist?(path) } || raise("Config not found among these paths: #{paths.inspect}") end |
.load(dir, output = $stderr) ⇒ Object
79 80 81 82 |
# File 'lib/cide/config_file.rb', line 79 def self.load(dir, output = $stderr) file_path = find_config(dir) load_file(file_path, output) end |
.load_file(file_path, output = $stderr) ⇒ Object
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/cide/config_file.rb', line 84 def self.load_file(file_path, output = $stderr) obj = new loader = ConfigFileLoader.new(obj) loader.load YAML.load_file(file_path) obj.warnings.each do |warn| output.puts "WARN: #{warn}" end obj.errors.each do |error| output.puts "ERROR: #{error}" end return obj if obj.errors.empty? nil end |
Instance Method Details
#to_dockerfile ⇒ Object
75 76 77 |
# File 'lib/cide/config_file.rb', line 75 def to_dockerfile ERB.new(File.read(DOCKERFILE_TEMPLATE), nil, '<>-').result(binding) end |