たまに手抜きで使うコードをなんとなく載せてみる。テンプレート使いたいんだけど、ちょっとしたスクリプトだしそもそも ERB の API どんなんだったか覚えてないし、リファレンス引くのもちょっとした手間だし。てなときに使ってる。(ERB くらい覚えろよ。という話もある。覚えてもすぐ忘れるんだよなぁ。)
sample_template = Proc.new do |param1, param2|
%Q!
とまぁこんなかんじで始まったわけですが、
この辺はぜんぶテンプレートなんですね。
だから、どんな風に何を書こうが自由なんです。
パラメタについても記法に迷うことなく
いつもの形で出力することができます。
たとえば、
#{param1}
こんな風に。
文中にあっても#{param2}なんだか見慣れた形式で安心です。
かんたんですね。
!.lstrip
end
# 使うのも簡単。API を調べたりする必要もまずありません。
puts sample_template.call(p1, p2)
こんなん。邪道? lstrip で最初の改行を消しているあたりもださい。
ちなみにコードジェネレータのテンプレートをこれで書いていて、いつのまにかコード行数が育ってきてそろそろちゃんとテンプレートエンジン導入しないといけないなーと思ってるのは内緒。
結論としては require 'erb' と ERB.new(text).result だけなんだから覚えろよ。と。