Class: CIDE::ConfigFile
Defined Under Namespace
Modules: NiceInspect
Classes: FileAdd, Link, PackageConfig, Step
Constant Summary
collapse
- DOCKERFILE_TEMPLATE =
File.expand_path('../dockerfile_template.erb', __FILE__)
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#inspect
Constructor Details
69
70
71
72
73
|
# File 'lib/cide/config_file.rb', line 69
def initialize(*)
super
@warnings = []
@errors = []
end
|
Instance Attribute Details
#errors ⇒ Object
Returns the value of attribute errors.
67
68
69
|
# File 'lib/cide/config_file.rb', line 67
def errors
@errors
end
|
#warnings ⇒ Object
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.expand_path(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
|