RubyMine 2026.3 Help

Sorbet

RubyMine は Ruby コードから直接多くの型を推論できます。 たとえば、文字列リテラルを 文字列 として認識し、 String#length が 整数 を返すことを判定します。

型を確実に推論できない場合、RubyMine は Sorbet 型シグネチャーを使用できます。 sig を使用して Ruby コード内でインラインにシグネチャーを宣言するか、 .rbi ファイルに別途保存できます。 RubyMine は両方のソースの型情報を使用して、パラメーター、戻り値、変数、式の型を判定します。

型シグネチャーの追加

  • Ruby コード内でシグネチャーを直接宣言するには、 T::Sig を拡張し、メソッドの前に sig 宣言を追加します:

    # typed: true module MyFoo class Bar end class Service extend T::Sig sig { params(foo: MyFoo::Bar).returns(MyFoo::Bar) } def process(foo) foo end end end service = MyFoo::Service.new result = service.process(MyFoo::Bar.new)

    シグネチャーは、 process が MyFoo::Bar 型のオブジェクトを受け取り、返すことを宣言します。 そのため、RubyMine は foo 、メソッド呼び出し、 result の型を判定できます。

  • Ruby 実装に Sorbet アノテーションを含めないようにするには、対応する型を別の .rbi ファイルで宣言します:

    # typed: true module MyFoo class Bar end class Service sig { params(foo: MyFoo::Bar).returns(MyFoo::Bar) } def process(foo); end end end

    明示的な # typed: sigil が必要です。 宣言に extend T::Sig を追加する必要はありません。

型情報を表示する

  1. 型を調べる式の中にキャレットを置きます。 次に、 表示 | 型情報 を選択するか、 Ctrl+Shift+P を押します。

  2. キャレット位置で複数の式を使用できる場合、RubyMine は式選択ツールを表示します。 型情報を表示する式を選択します。

    式の選択

次の例は、Ruby コードに直接記述された sig 宣言から取得された型情報を示しています:

インライン Sorbet シグネチャーから型情報を表示する

次の例は、RBI ファイルに別途保存されたシグネチャーから取得された型情報を示しています:

別の RBI ファイルから型情報を表示する

型が一致することを確認する

  • メソッド引数または戻り値が Sorbet シグネチャーと一致しない場合、RubyMine は警告します。 次の例では、 Greeting#greet メソッドは ユーザー のインスタンスを想定しています:

    module InspectionExample class User end class Greeting extend T::Sig sig { params(user: User).void } def greet(user) puts "Hello!" end end end greeting = InspectionExample::Greeting.new greeting.greet("Ruby")

    この呼び出しは、必要な ユーザー の代わりに 文字列 を渡します。 RubyMine は "Ruby" をハイライトし、次のように報告します: Expected type 'User', got 'String' instead。

    これらの警告は、 引数の型が一致していません および 不一致の戻り型 インスペクションを使用して管理できます。

    期待される User 型と一致しない文字列引数

Ruby ファイルと RBI ファイル間を移動する

RubyMine は、Ruby 宣言からその型シグネチャーへ、および RBI シグネチャーから関連する Ruby 宣言への移動を有効化します。

型署名に移動する

  • Ruby 宣言を選択し、メインメニューの 移動 | 型シグネチャー に移動します。

    RBI ファイルに移動する

関連する Ruby 宣言に移動する

  • 型シグネチャーを選択し、メインメニューの 移動 | 関連する宣言 に移動します。

    関連する Ruby 宣言に移動する
2026 年 11 月 9 日