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