Я использую PHP для генерации файлов какого-то специального формата, и я решил попробовать то же самое с Ruby. Чтобы сделать файл с PHP, я использую следующий код:
<? include 'functions_and_settings.php'; ob_start() ?>
some parts of another format
<? // php functions generating file content,
// including other formatted files ?>
some parts
<? file_put_contents('output.fmt', ob_get_clean()) ?>
Можно ли сделать с Ruby? Как бы вы это сделали?
Обновление
Следующий код эквивалентен коду PHP:
require 'erb'
require 'my_functions_and_settings'
template = ERB.new <<-EOF
some text lines of another format
<% #functions generating content,
# inclusion of formatted files %>
some text lines of another format
EOF
File.open("output.fmt", "w") do |f|
f.puts template.result(binding)
end
# or may be: File.new("file.txt") << template.result(binding)
Есть ли способ сделать ruby file.erb >> output.fmt
?
Update2
Стандартный дистрибутив Ruby имеет erb
процессор
/usr/bin/erb my_formatted_file.erb