Siempre vincular con la ubicación relativa

Para que podamos cambiar la estructura de directorios sin romper los
links.
This commit is contained in:
f 2021-08-14 20:27:25 -03:00
parent 5a53facaa7
commit 339c02c92b

View file

@ -5,19 +5,24 @@ class DeployWww < Deploy
# 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
return true if File.symlink? destination
# Eliminar los links rotos
remove_destination! if broken?
File.symlink(site.deploy_local.hostname, destination).zero?
# No hacer nada si ya existe.
return true if exist?
# Generar un link simbólico con la ruta relativa al destino
File.symlink(relative_path, destination).zero?
end
# Siempre devuelve el espacio ocupado por el link simbólico, no el
# destino.
#
# @return [Integer]
def size
File.size destination
relative_path.size
end
# El hostname por defecto incluye WWW
@ -33,4 +38,12 @@ class DeployWww < Deploy
def remove_destination!
FileUtils.rm_f destination
end
# Obtiene la ubicación relativa del deploy local hacia la ubicación de
# este deploy
#
# @return [String]
def relative_path
Pathname.new(site.deploy_local.destination).relative_path_from(File.dirname(destination)).to_s
end
end