メインコンテンツまでスキップ

T-Ruby v0.0.40 リリース

T-Ruby v0.0.40 では、アクセス修飾子のサポートや heredoc 検出など、パーサーが大幅に改善されました。(PR#22)

アクセス修飾子のサポート

📖 参照: クラスアノテーション

Ruby のアクセス修飾子をメソッド定義と一緒に直接使用できるようになりました:

private def secret_method(key: String): String
# ...
end

protected def internal_method(data: Hash): Boolean
# ...
end

T-Ruby はこれらのパターンを正しくパースし、型削除時にアクセス修飾子キーワードを保持します。

Heredoc 検出

新しい HeredocDetector が heredoc 文字列内でのメソッドの誤検出を防止します:

message = <<~SQL
def fake_method # メソッドとしてパースされない
SELECT * FROM users
end
SQL

すべての heredoc バリアントをサポート:<<DELIM<<-DELIM<<~DELIM<<'DELIM'<<"DELIM"

ブロックコメントのサポート

パーサーが =begin/=end ブロックコメントを正しくスキップするようになりました。

RBS アクセス修飾子サポート

生成された .rbs ファイルにアクセス修飾子が含まれるようになりました:

private def secret_method: (key: String) -> String

レガシーコードの削除

このリリースでは、非推奨のレガシーコンパイラコードが削除されました:

  • LegacyParser クラスの削除
  • LegacyCompiler クラスの削除
  • TRuby::RBSGenerator の削除(IR::RBSGenerator を使用)
  • use_ir および use_combinator パラメータの削除(常に IR を使用)

アップグレード

gem update t-ruby