Если вы используете гем aws-s3, следующий код переименует папку OLD_FOLDER_NAME в корзине BUCKET_NAME в NEW_FOLDER_NAME:
bsize = OLD_FOLDER_NAME.size
bucket = AWS::S3::Bucket.find(BUCKET_NAME)
bucket.objects({:prefix=>OLD_FOLDER_NAME}).each do |o|
AWS::S3::S3Object.rename(o.key, NEW_FOLDER_NAME + o.key[bsize..-1], BUCKET_NAME)
end
Вот и все.Папки не являются реальными объектами, поэтому все, что вам нужно сделать, это переименовать все объекты, которые попадают в этот конкретный путь к новому пути.В результате виртуальная папка будет переименована.