Ruby 4.0 リファレンスマニュアル

instance method Pathname#rename

rename(to) -> 0[permalink][rdoc][edit]

File.rename(self.to_s, to) と同じです。

[PARAM] to:
ファイル名を表す文字列を指定します。

このメソッドはファイルシステム上のファイル名を変更しますが、レシーバの Pathname オブジェクトが保持しているパス文字列は変更されません。そのため、rename の呼び出し後も self は変更前のパスを指したままです。

require 'pathname'
path = Pathname.new("old")
File.write("old", "")
path.rename("new")
path.to_s    # => "old"
path.exist?  # => false
p Pathname.new("new").exist? # => true

新しいパスを指す Pathname オブジェクトが必要な場合は、 Pathname.new(to) などとして新しく作成する必要があります。

[SEE_ALSO] File.rename