すべての .new ファイル拡張子の名前を新しい名前に変更するメソッドを作成しようとしていますが、同様の投稿を見たことがありますが、私が求めているほど具体的なものはありません。
メソッドが複数のディレクトリを検索しているため、私のコードは、それが含まれているディレクトリ内のファイルの名前を変更する必要があります。私が書いたコードは、ルート ディレクトリ内のファイルの名前を変更します。
この関数は複数のディレクトリで実行されるため、使用しても機能pathname = "/path/to/app/"
しません。コードは次のとおりです。
dotNewFiles = File.join("**", "*.new")
Dir.glob(dotNewFiles).each do |f|
filename = File.basename(f, File.extname(f))
#keep it commented until it works
#File.rename(f, filename)
print "Renamed File from:\t"
printf "%-50s %s\n", f, "to".upcase + "\t" + filename
end
私の出力は次のようになります。
Renamed File from: app/assets/javascripts/application.js.new TO application.js
Renamed File from: app/assets/stylesheets/application.css.new TO application.css