メタプログラミングしている(define_methodとか使っている)ときは.rb上では型を付与できない。
ex: hoge.rb
class Hoge
define_method :hoge do
puts 'hogehoge'
end
end
Hoge.new.hoge
この場合には、RBIファイルに型を書く対応をする(or 型生成するコードを書く)
ex: hoge.rbi
# typed: strict
class Hoge
sig { void }
def hoge; end
end
bin/tapioca gems
などを実行して型が足りないときも同様にsorbet/rbi/shims
以下に型を書く(必要な部分のみで問題ない。)
# typed: strict
class ActiveRecord::Base
sig { void }
def hoge; end # <- こんな感じで必要な差分のみ追記で問題ない
end
Top comments (0)