こんにちは、tahara です。
アクトインディ Advent Calendar 2015 の8日目の記事です。
Common Lisp コードの方が多い gem をリリースしました。 前回はたった2行でしたが、今回は200行以上あります。 ちなみに Ruby のコードは40行くらいです。
S式で Rails のビューを書けるようになる gem です。
インストール方法
まず SBCL をインストールしてください。
sudo apt-get install sbcl
Gemfile に次を追記し bundle
を実行してください。
gem 'lisp-rails-view'
使い方
S式でビューを書きます。 index.html.lisp
(:div#main (:h3.title "title") (:p#foo.bar "Hello"))
これで次のように出力されます。
<div id="main"> <h3 class="title">title</h3> <p id="foo" class="bar">Hello</p> </div>
詳細はこちらを。
その他
まだいろいろ出来ないことが多いですが、なんかかS式で書ける実装にはなってるかな。
ところで、https://github.com/rails/rails/blob/master/actionview/lib/action_view/context.rb#L33 このせいで String の Array ではなく String を返さないといけないんですよね。 せっかく Rack の body は Array で ok になっているのに、パフォーマンス的にどうなんだろう? と思います。
また機会があればそのあたりも掘り下げていきたいと思います。