ブックマーク / ksss9.hatenablog.com (2)

  • テストを実行してRubyの型情報を集めるやつを作った - スペクトラム

    イントロダクション 「テストを走らせて型情報を収集すればいいんじゃない?」そのアイデア自体は話題に上がることが多かったかと思われますが、観測範囲では前例がないように見えます。そこで、実際に作ってこそ見える世界があると思い動くものを実装してみました。 Orthoses::Trace github.com orthosesはRBSを生成するための機能を作るフレームワークで、この機能の一つとしてOrthoses::Traceというミドルウェアを実装しました。 例 例題として、rack-testというgemのRBSを生成したいとします。 その場合の生成コードをOrthoses::Traceを使って以下のように準備します。 https://github.com/ksss/orthoses/blob/db80d506c5fb02dadaa0ae303e0761ba0a543f6f/examples/r

    テストを実行してRubyの型情報を集めるやつを作った - スペクトラム
  • YARDタグからRBSを生成する - スペクトラム

    YARD YARDはドキュメンテーションツールです。 Rubyのコメントに # @param [String] a # @return [void] def foo(a) end みたいな記述を見たことがありませんか? この@paramがYARDのタグ名、[String]がタグのもつ型情報です。aは引数の名前ですね。 YARDではこの型情報を元にリンクを貼ったwebページを生成したりできます。 rubydoc.infoがまさにYARDによって生成されていますね。 RBS RBSはRuby公式の型を記述する書式、およびツールの名前です。 こんなかんじです。 def foo: (String a) -> void YARD to RBS では # @param [String] a # @return [void] def foo(a) end とかかれたソースコードを読み込んで def fo

    YARDタグからRBSを生成する - スペクトラム
    hazeblog
    hazeblog 2022/10/20
  • 1