Я дам альтернативу, которую я предпочел бы, которая заключается в использовании heredoc, назначенных переменным, которые затем вставляются в основной heredoc, так как он получает условное выражение вне heredoc, таким образом, обеспечивая лучшую ясность, которую вы ищете (особенно, когда все становится сложнее, чем надуманный пример):
cond = if true
<<TRUE
yesyesyesyesyesyesyesyesyesyes
TRUE
else
<<NOTTRUE
nonononononononononononononono
NOTTRUE
end.strip
puts <<START
----Some documents
#{cond}
----Some documents
START
Если вы ищете шаблон, то есть много, и, на мой взгляд, гораздо лучше, чем ERB (начните с рассмотрения Haml).