ERB では '' が '' になる

tdiary のテンプレートを erubis -z でチェックしたらエラーになった。しかし erb -x | ruby -wc ではエラーにならない。なんでや? と思ったら、'<%% %%>' が '<% %>' になるという ERB の独自機能を tdiary が思いっきり使っていたからだった。

なんじゃこの独自機能はー! 今まで知らんかったぞー! ・・・と思ったら、ちゃんとドキュメントに書いてあった。しかも、Rubinius の Spec ファイルにはちゃんとテストがあった。自分でテスト書いてたのに、まったく忘れてたわ。最近、物忘れがひどいのう。

ERB のこの機能は、eRuby のテンプレートを eRuby で作りたい場合につかうようだ。Erubis なら erubis -p '\[% %\]' とかして埋め込みの書式自体を簡単に変えられるから、こんな機能は必要としてなかった。しかし tdiary のように実際にこの機能を使っているアプリケーションがあるなら、Erubis でも考えた方がいいのかも。