# frozen_string_literal: true # Vincula la versión del sitio con www a la versión sin class DeployWww < Deploy # La forma de hacer este deploy es generar un link simbólico entre el # directorio canónico y el actual. # # @return [Boolean] def deploy # Eliminar los links rotos remove_destination! if broken? # 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 relative_path.size end # 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 # 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