lib/omnibus/templating.rb in omnibus-4.0.0 vs lib/omnibus/templating.rb in omnibus-4.1.0
- old
+ new
@@ -51,10 +51,17 @@
raise ArgumentError,
"Unknown option(s): #{options.keys.map(&:inspect).join(', ')}"
end
template = ERB.new(File.read(source), nil, '-')
- struct = Struct.new(*variables.keys).new(*variables.values)
+
+ struct =
+ if variables.empty?
+ Struct.new("Empty")
+ else
+ Struct.new(*variables.keys).new(*variables.values)
+ end
+
result = template.result(struct.instance_eval { binding })
File.open(destination, 'w', mode) do |file|
file.write(result)
end