RailsAdminのHaml 5.0.0.beta.2対応

先日、Haml のプライマリーコミッターである amatsuda のツイートにより、レンダリングの速度が3倍向上したという Haml 5 の beta がリリースされたことを知る。

その Haml 5 が RailsAdmin で動かなかったので、昨日の西日暮里.rb の参加者待ちの間に出してた PR が以下。

github.com

今日 upstream にマージされたので、以下のような感じで Gemfile に書くと Haml 5.0.0.beta.2 と RailsAdmin の組み合わせで使うことができる。この日記を書いている時点ではこの対応を含んだ RailsAdmin がリリースされていないため、現段階では git オプションなどでの指定が必要。

gem 'haml', '5.0.0.beta.2'
gem 'rails_admin', git: 'https://github.com/sferik/rails_admin', ref: '46cd7ec'

PR で行なったことの知見というか補足として、Haml 5 では ugly オプションがなくなっていることから、そのオプション指定がある場合は以下のログが相当量出ると思う。

Haml::TempleEngine: Option :ugly is invalid

Haml 5 のときには、以下のような設定を使わないようにすればこのログは消える。

Haml::Template.options[:ugly] = true

今回の PR で RailsAdmin の方では、Haml 5 を使った際にこのログは出ないように対応しているつもり。

なお、今回使いたい気持ちが高まる Haml 5 の高速化の中身については、Haml コミッターの k0kubun の記事に詳しい。

k0kubun.hatenablog.com