Refactorizar DeployWww

This commit is contained in:
f 2021-08-01 21:53:00 -03:00
parent e1749d6c70
commit fa9884afdd

View file

@ -2,33 +2,39 @@
# Vincula la versión del sitio con www a la versión sin # Vincula la versión del sitio con www a la versión sin
class DeployWww < Deploy class DeployWww < Deploy
store :values, accessors: %i[], coder: JSON # La forma de hacer este deploy es generar un link simbólico entre el
# directorio canónico y el actual.
before_destroy :remove_destination! #
# XXX: Asume que el origen y el destino se encuentran en el mismo
# directorio (¿por qué no estarían?)
#
# @return [Boolean]
def deploy def deploy
File.symlink?(destination) || return true if File.symlink? destination
File.symlink(site.hostname, destination).zero?
end File.symlink(site.deploy_local.hostname, destination).zero?
def limit
1
end end
# @return [Integer]
def size def size
File.size destination File.size destination
end end
# @return [String]
def destination def destination
File.join(Rails.root, '_deploy', fqdn) File.join(Rails.root, '_deploy', hostname)
end end
def fqdn # El hostname por defecto incluye WWW
"www.#{site.hostname}" #
# @return [String]
def default_hostname
"www.#{site.deploy_local.hostname}"
end end
private private
# Elimina el link simbólico si se elimina este deploy.
def remove_destination! def remove_destination!
FileUtils.rm_f destination FileUtils.rm_f destination
end end