Правильный способ сделать это - использовать библиотеку ERB
.
Приведенный ниже код сгенерирует два файла в соответствии с предопределенным шаблоном.
require "erb"
File.open("template.erb") do |io|
template = ERB.new io.read
files = {:anecdote => "There are 10 types of people in the world.",
:story => "Once upon a time..."}
files.each do |file, contents|
File.open "#{file}.txt", "w" do |out|
out.puts template.result binding
end
end
end
Когда template.erb
выглядит так:
Title <%= file %>
<%= "=" * 40 %>
<%= contents %>
<%= "=" * 40 %>
Вот содержимое aneqdote.txt
:
Title anecdote
========================================
There are 10 types of people in the world.
========================================