Rubyのnamespace(仮)に期待していること
RubyKaigi 2024のモリスさんのNamespace, What and Whyを受けて
#rubykaigi 2024 Day 1 "Namespace on read" の話です、enjoy! / “Namespace, What and Why” https://t.co/ukSPDxiBT8
— tagomoris (@tagomoris) May 16, 2024
基本的にRailsを使っている立場としてこんなことができたら嬉しいなというのを書く
異なるバージョンのRailsを並行してテストを流せる?
Railsを使っていてつらいこととして、Rails Upgradeで思わぬところで躓いたときというのがある。
ChangeLogに載っていないような場合だったり結構深いところ(特にActiveRecordのクエリ構築とか)の変更によって起きた挙動の変化は、前後のバージョンそれぞれでテストを動かして内部で変化が起きた場所を追跡したりしたりすることがある。
(そんなことやらんやろって人もいるかも?)
これがnamespaceを使うことで1つのプロセスで両バージョンのテストを流せれば、バージョン間でAPIの呼出の引数や戻り値を比較して、影響箇所の特定が捗るのでは?と思ってる
段階的なRails Upgradeが可能に?
規模が大きいRailsでのUpgrade作業において、作業中にも開発を進めたいという場合当然新しいRailsの機能は使えないわけだが、Napmespaceが導入されると新規開発部分は新しいバージョンで行うことが可能になるのではという期待がある。
またUpgrade作業で確認が取れた部分から新しいバージョンで動かして、確認がとれていない部分のみ旧バージョンで動かすみたいなことも可能になるかもしれない。
といったようなことを会場で聞きながら考えていた。
後者の場合は新旧を並列で動かすようなリソースが必要になるかもなので、どちらかというと前者に期待したいな