Вот рефакторинг вашего кода.Это не совсем понятно из вашего вопроса или вашего кода, но я предполагаю, что вы хотите удалить заданные символы из каждого имени файла в каталоге.
Обратите внимание, что метод strip (), скопированный из сообщения в блоге, совершенно не нужен, поскольку это плохая переопределение встроенного метода tr()
.
#Given a directory, renames each file by removing
#specified characters from each filename
require 'fileutils'
puts "Enter Directory containing files"
STDOUT.flush
dir = gets.chomp
puts "what characters do you want to remove from each filename?"
remove = gets.chomp
puts "what file extension do the files end in?"
fileXt = gets.chomp
files = File.join(dir, "*.#{fileXt}")
Dir[files].each do |file|
new_file = file.tr(remove,"")
FileUtils.mv(file, new_file)
end