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
