フロントエンドカンファレンス名古屋 2026
LT(5分)

turbo_stream.append :fade を実現するRails DSL拡張の設計

Turbo Frame / Turbo Stream にトランジションを簡単に追加できる npm ライブラリがあります。
とても便利ですが、Turbo Stream でアニメーションを付ける際に <turbo-transition> を毎回記述する必要があり、Railsらしい書き心地から少し離れていると感じていました。
RailsでTurbo Streamを利用する場合、turbo_stream.append のようなDSLが用意されており、このDSLを拡張して
turbo_stream.append "tasks", :fade
のように、より直感的にトランジションを指定できるgemを設計しました。

本セッションでは、デモと実装の解説を交えながら、

  • フレームワークに手を入れるときの判断基準
  • DSLを自作する際に考えるべき観点
    についてお話しします。