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
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