5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-07-03 12:16:07 +00:00
panel/app/models/deploy_www.rb

50 lines
1.2 KiB
Ruby
Raw Normal View History

2019-10-01 19:41:33 +00:00
# frozen_string_literal: true
# Vincula la versión del sitio con www a la versión sin
class DeployWww < Deploy
2021-08-02 00:53:00 +00:00
# La forma de hacer este deploy es generar un link simbólico entre el
# directorio canónico y el actual.
#
# @return [Boolean]
2019-10-01 19:41:33 +00:00
def deploy
# Eliminar los links rotos
remove_destination! if broken?
# No hacer nada si ya existe.
return true if exist?
2019-10-01 19:41:33 +00:00
# Generar un link simbólico con la ruta relativa al destino
File.symlink(relative_path, destination).zero?
2019-10-01 19:41:33 +00:00
end
# Siempre devuelve el espacio ocupado por el link simbólico, no el
# destino.
#
2021-08-02 00:53:00 +00:00
# @return [Integer]
2019-10-01 19:41:33 +00:00
def size
relative_path.size
2019-10-01 19:41:33 +00:00
end
2021-08-02 00:53:00 +00:00
# El hostname por defecto incluye WWW
#
# @return [String]
def default_hostname
"www.#{site.deploy_local.hostname}"
2019-10-01 19:41:33 +00:00
end
private
2021-08-02 00:53:00 +00:00
# Elimina el link simbólico si se elimina este deploy.
2019-10-01 19:41:33 +00:00
def remove_destination!
2020-06-19 18:42:24 +00:00
FileUtils.rm_f destination
2019-10-01 19:41:33 +00:00
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
2019-10-01 19:41:33 +00:00
end