본문으로 건너뛰기

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_iruse_combinator 매개변수 제거 (항상 IR 사용)

업그레이드

gem update t-ruby