👋

[Feature #17473] Pathname ライブラリを Ruby の組み込みライブラリに変更する提案

に公開

[Feature #17473] Make Pathname to embedded class of Ruby

  • Pathname ライブラリを Ruby の組み込みライブラリに変更する提案
    • 組み込みライブラリにすると何が起きるのかというと require しなくても利用できるようになる
    • あとチケット自体は4年前のもの
# これが不要になる
# require "pathname"

p Pathname.new('/usr').join('./var').to_s
# => "/usr/var"
  • これのモチベーションなんですが Rubygems を gem に依存せずに独立させたい、というのが背景にあるみたいですね
    • Rubygems が Pathname や FileUtils, Tsort に依存しており、Pathname の依存関係を剥がすのが難しいらしい
  • 組み込みライブラリに変更すること自体は承認されて Pathname はコアクラスとして組み込まれました
  • また Pathname を組み込みライブラリに変更する話とは別に『Ruby で実装して組み込みたい』という話も出ている
  • このあたりをどう対応していくかの議論は引き続き以下の PR でやり取りされている
GitHubで編集を提案

Discussion