93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
# File 'lib/modulesync.rb', line 93
def self.manage_file(puppet_module, filename, settings, options)
configs = settings.build_file_configs(filename)
target_file = puppet_module.path(filename)
if configs['delete']
Renderer.remove(target_file)
else
template_file = local_file(options[:configs], filename)
begin
erb = Renderer.build(template_file)
metadata = {
module_name: settings.additional_settings[:puppet_module],
namespace: settings.additional_settings[:namespace],
workdir: puppet_module.working_directory,
target_file: target_file,
}
template = Renderer.render(erb, configs, metadata)
mode = File.stat(template_file).mode
Renderer.sync(template, target_file, mode)
rescue StandardError
warn "#{puppet_module.given_name}: Error while rendering file: '#{filename}'"
raise
end
end
end
|