タグ

rubyとsteepに関するiga_kのブックマーク (5)

  • RBS Railsを使ってRailsアプリケーションにSteepを導入する - pockestrap

    RBS Railsを使ってRailsアプリケーションにSteepを導入するまでの解説します。 ただしこの「導入できる」というのは、解析が完走するという意味です。 型エラーを全てつぶすことや、Steepを実際の開発フローに乗っけることは私もまだできていないため、この記事ではサポートしません。 登場人物 RailsアプリケーションにSteepを導入するには、複数のプロジェクトが関連してきます。 まずはそれらをざっと紹介します。 steep gem Rubyの静的型検査器です。 rbs_rails gem RailsでRBSを使う上で必要な型定義を提供・生成するgemです。 データベースのスキーマ定義からモデルの型生成、及びroutesの定義からパスヘルパーの型生成をします。 それ以外のコードの型生成は担当範囲外です。 rbs gem ビルトインのライブラリ、及びスタンダードライブラリの型定義を

    RBS Railsを使ってRailsアプリケーションにSteepを導入する - pockestrap
  • 数クリックでSteepを試せる環境を作った - pockestrap

    こんにちは。pockeです。今回は、GitHub Codespacesを利用して数クリックでSteepを試せる環境を作ったので紹介します。 使い方 pocke/steep-codespacesにアクセスする。 このリポジトリをGitHub Codespacesで開く。 Steepが有効となったVS Codeが起動する。 と言った感じでSteepを試せます。次のようにVS Codeが起動し、型エラーの表示や補完がされます。 型エラーの表示 メソッドの補完 なおGitHub CodeSpacesの無料枠を超える場合、課金が発生するのでご注意ください。 何故作ったか RBSやSteepを手軽に試せる環境を作りたかったためです。 それらを手元の環境にインストールして試すのは、Steepに慣れない人にとっては色々調べることがあり、ハードルが高いです。 またSteepに慣れた人にとっても、環境構築をせ

    数クリックでSteepを試せる環境を作った - pockestrap
  • Rails + RBS & Steepを試してみて困ったところとか感想とか - Qiita

    まえがき Railsアプリに型チェックを導入しようとして試しているのですが、なかなか一筋縄ではいかないようで、試行錯誤しています。 おそらく他にも似たようなことでハマったりしている人もいるかと思うので、これまで困ったこと、そして(回避できた場合は)回避策を書いてみます。 なお、RBSやSteepとはなんぞやといった辺りは特に説明せずにいきなり題に入るため、詳しくない方はmameさんの記事「Ruby 3の静的解析機能のRBS、TypeProf、Steep、Sorbetの関係についてのノート」などを参考にしてください。 Steep & RBSで困ったところ BigDecimalを導入してもto_dが使えない (追記: ksssさんにrbsのstdlibのテストの書き方を教えてもらったので書けるようになりました! 結果はpull requestしてみたので、最終的に取り込まれれば使えるようにな

    Rails + RBS & Steepを試してみて困ったところとか感想とか - Qiita
    iga_k
    iga_k 2023/01/09
    高橋会長の記事
  • Ruby 3の静的解析機能のRBS、TypeProf、Steep、Sorbetの関係についてのノート - クックパッド開発者ブログ

    こんにちは、フルタイムRubyコミッタとして働いてる遠藤(@mametter)です。 Ruby 3 は「静的型解析」を備えることが目標の 1 つになっています。遠藤が開発してる TypeProf は Ruby 3 の静的型解析エコシステムの中の 1 ツールです。しかし Ruby 3 の静的解析というと、RBS、TypeProf、Steep、Sorbet などいろいろなツール名が出てきてよくわからない、という声を何回か聞いたので、かんたんにまとめておきます。 3 行まとめ RBS:Ruby の型情報を扱う言語。Ruby 3 にバンドルされる。 TypeProf:型注釈のない Ruby コードを型解析するツール。Ruby 3 にバンドルされる。 Steep/Sorbet:Ruby で静的型付けのプログラミングができるツール。 詳しくはそれぞれ以下で解説します。 RBS とは RBS は、Rub

    Ruby 3の静的解析機能のRBS、TypeProf、Steep、Sorbetの関係についてのノート - クックパッド開発者ブログ
  • Ruby のコードを静的型検査する with Bazel

    モンスターストライク(以下、モンスト)のバックエンドの開発・運用チームでは、大小様々なツールをモノレポで管理しています。 また、モノレポにビルドツールの Bazel を導入して、プログラムのビルドやテストの実行などを統一したインターフェースで行えるようにしています(詳しくは過去の記事「Bazelとモノレポ」を参照してください)。 モノレポにある多くのツールは Go で書かれています: ちなみに、Perl も多いのは SNS mixi 時代のツールを引き継いでるからっぽいですGo と Bazel の相性はよく、公式からも Bazel + Go の開発を支援するツールが提供されています(e.g. Gazelle)。 モンストのバックエンド体は Ruby で書かれており、いくつかのツールも Ruby で書かれています。 現状、モノレポにある Ruby 製ツールには Bazel が導入されていま

    Ruby のコードを静的型検査する with Bazel
  • 1