RBSを試す
code:ruby
be rake rbs:setup
be rake rbs:validate
~/.irbrc に IRB.conf[:COMPLETOR] = :type を記載
で、型の世界に行けるらしいです。
基本↑の生地を参考にしているのでそれを見てください。というのはありつつ簡単に解説付き。
ゔぁ
code:ruby
rbs:setup で 生成、一部エラーが多発する dir については prototype rb で生成した後に sh rm -rf xxx で消し飛ばしています。
## 困るシリーズ
基本的に zeitwerk の仕組みに優しい ruby fileを期待するようです。
たとえば、
code:ruby
class XXX::SampleController < ApiContoroller
end
のような定義は、rbs prototype との相性が悪いです。
このファイルに対して実行した rbs も
code:ruby
class XXX::SampleController
のようになります。
ただしrbsは事前に class XXX がないとエラーになってしまうため、この単体rbsはinvalid扱いのようです。
そのため、これを回避するためには外の XXX を定義した物を sig/xxx.rbs として定義する、もしくは 最初のrubyコードをショートハンドで書かずにちゃんとネストして記載する。という形で回避できます。
code:ruby
class XXX
class SampleController < ApiController
まぁ後、このようなカタチにしてる時、外側は module なケースが多いので module で囲むのが正しいのでは (?)