DEV Community

hiko1129
hiko1129

Posted on • Originally published at note.hiko1129.com on

[Ruby][Sorbet] How to make a Rakefile typed

Translate ja to en

https://github.com/ruby/rake/blob/master/lib/rake/dsl_definition.rb#L195 にて

self.extend Rake::DSL
Enter fullscreen mode Exit fullscreen mode

となっているのでそれを表現したT.all(Rake::DSL, Object)をselfとする(厳密には正しくない...)。

# typed: true

T.bind(self, T.all(Rake::DSL, Object)) # ← selfは実行時エラーになるのでせいぜいObjectっぽい

namespace :hoge
  task hoge: :environment do
  end
end
Enter fullscreen mode Exit fullscreen mode

Top comments (0)