RamazeさんのAmrita2テンプレートエンジンをアップデートしました
先日 Amrita2 の version 2.0.0 がリリースされました。Amrita2と言えば、説明が不要なくらい有名なRubyのテンプレートエンジンのことですね。長らく開発が停止しているように見えましたが、見えないところで着実に前進されていたのですね。大変に有り難いことです。
なお、どう変わったのかを手早く知りたい方は、以下の文書を読むのが一番良いかと思います。あ、もちろん最初はREADMEを読むべきですけれども。
さて、私がAmrita2のリリースを知ったのは、Ramazeさんのテストが失敗するようになったからなのでした。当然ながら Ramaze さんは Amrita2 をテンプレートエンジンとして使用できます。そこで早速 Amrita2 の変更点を反映するよう、アップデートパッチを作成しました。
...う、ホントは折角の機会だからメールにAmrita2情報を色々と書こうと思ってたんだけど、間違って書いてる途中で送っちゃった!(例示のトコでインデントしたくてTab打ったら"Send"ボタンに移動しちゃいました! そしてなぜか無意識にEnter!! GMailさん助けて!!!)そんなわけでなんだかなぁ、という感じですが送ってしまったものは仕方ありません。
まぁとにかく、このパッチでRamazeさんとAmrita2(2.0.0)が仲良くなりますので、皆さん何卒よろしくお願いします。だってあんまりテストしてないし。一応使い方の例は次のようになります。
class MyController < Ramaze::Controller def index # レンダリング用のモデルデータは@dataに入れておいて下さい☆ @data = {:one => 1, :two => 2} "<<:one>> + <<:two>> = <%= $_[:one] + $_[:two] %>" # => "1 + 2 = 3" end def am_src @data = {:title = "hello"} # Amrita1的なもの。 "<h1 am:src='title'/>" end def controller_as_model @data = binding "<%= $_.hello %>" end def hello "hello" end def can_use_helpers "<%= Rs('index', :/) %>" end end
みたいな。色々分かってないから皆様でつついてやって下さい。
ところでAmrita2、amrita1に毛が生えたくらいにしか認識していなかった私にとっては、あまりに変更点が凄過ぎてまだついて行けてません。filter とか macro とか attribute processing とか、頑張ってちびちび追いつきたいところです。しかし table processing が!!!