From b20b15317b64505dd396e53eb925a57e4e092d3f Mon Sep 17 00:00:00 2001 From: f Date: Sat, 14 Aug 2021 20:24:02 -0300 Subject: [PATCH] =?UTF-8?q?Cambiar=20la=20ubicaci=C3=B3n=20del=20sitio=20a?= =?UTF-8?q?l=20cambiar=20su=20nombre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/deploy.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/models/deploy.rb b/app/models/deploy.rb index 7032f969..87f1e530 100644 --- a/app/models/deploy.rb +++ b/app/models/deploy.rb @@ -23,6 +23,9 @@ class Deploy < ApplicationRecord after_initialize :default_hostname! # Eliminar los archivos generados por el deploy. before_destroy :remove_destination! + # Cambiar el lugar del destino antes de guardar los cambios, para que + # el hostname anterior siga estando disponible. + before_update :rename_destination!, if: :destination_changed? # Los hostnames alternativos se crean después de actualizar, cuando ya # se modificó el hostname. around_update :create_alternative_domain!, if: :destination_changed? @@ -171,7 +174,13 @@ class Deploy < ApplicationRecord # @return [Boolean] def default_hostname! self.hostname ||= default_hostname - true + end + + # Cambia la ubicación de destino cuando cambia el hostname. + def rename_destination! + return unless File.exist? destination_was + + FileUtils.mv destination_was, destination end # Elimina los archivos generados por el deploy