From fa9884afddb5075bf4542b9c35a462d95beba246 Mon Sep 17 00:00:00 2001 From: f Date: Sun, 1 Aug 2021 21:53:00 -0300 Subject: [PATCH] Refactorizar DeployWww --- app/models/deploy_www.rb | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/app/models/deploy_www.rb b/app/models/deploy_www.rb index 5602b0f..9ef94df 100644 --- a/app/models/deploy_www.rb +++ b/app/models/deploy_www.rb @@ -2,33 +2,39 @@ # Vincula la versión del sitio con www a la versión sin class DeployWww < Deploy - store :values, accessors: %i[], coder: JSON - - before_destroy :remove_destination! - + # La forma de hacer este deploy es generar un link simbólico entre el + # directorio canónico y el actual. + # + # XXX: Asume que el origen y el destino se encuentran en el mismo + # directorio (¿por qué no estarían?) + # + # @return [Boolean] def deploy - File.symlink?(destination) || - File.symlink(site.hostname, destination).zero? - end - - def limit - 1 + return true if File.symlink? destination + + File.symlink(site.deploy_local.hostname, destination).zero? end + # @return [Integer] def size File.size destination end + # @return [String] def destination - File.join(Rails.root, '_deploy', fqdn) + File.join(Rails.root, '_deploy', hostname) end - def fqdn - "www.#{site.hostname}" + # El hostname por defecto incluye WWW + # + # @return [String] + def default_hostname + "www.#{site.deploy_local.hostname}" end private + # Elimina el link simbólico si se elimina este deploy. def remove_destination! FileUtils.rm_f destination end