読者です 読者をやめる 読者になる 読者になる

Ruby で実行時に引数のクラスを推測するやつ

https://gist.github.com/eagletmt/3e064fcbe2935a8356bc8658c8e472c1

require_relative '../infer_type'
RSpec.configure do |config|
  config.before(:suite) { @infer_type = InferType.new; @infer_type.start }
  config.after(:suite) { @infer_type.finish }
end

たとえば上記のように RSpec のフックに仕掛けて INFER_TYPE_TARGET=YourAwesomeApp:: bundle exec rspec とかやるとテストから適当に推測されたクラスが表示される。 とりあえず nullable かどうかと、TrueClass と FalseClass を Boolean と解釈するように調整を入れていて、このへんをがんばるともう少しいいかんじのクラスを表示できそう。

これと同じようなかんじで、YARD で書かれた型と一致するかどうかチェックできると便利そう。