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 が!!!