Ruby で手抜きテンプレートを使う

by tanabe on September 08, 2009

たまに手抜きで使うコードをなんとなく載せてみる。テンプレート使いたいんだけど、ちょっとしたスクリプトだしそもそも 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 だけなんだから覚えろよ。と。