diff --git a/app/models/site/build_stats.rb b/app/models/site/build_stats.rb index 23931140..40ace36f 100644 --- a/app/models/site/build_stats.rb +++ b/app/models/site/build_stats.rb @@ -49,7 +49,7 @@ class Site # # @return [Boolean] def awaiting_publication? - waiting? && (post_publication_pending? || configuration_publication_pending?) + waiting? && (post_publication_pending? || deploy_pending? || configuration_pending?) end # Se modificaron artículos después de publicar el sitio por última @@ -63,20 +63,35 @@ class Site # Se modificó el sitio después de publicarlo por última vez # # @return [Boolean] - def configuration_publication_pending? - updated_at > last_publication_time + def deploy_pending? + last_deploy_time > last_publication_time + end + + # Se modificó la configuración del sitio + # + # @return [Boolean] + def configuration_pending? + File.mtime(config.path) > last_publication_time end private - # Encuentra el último artículo modificado. Si no hay ninguno, - # devuelve la fecha de modificación del sitio. + # Encuentra la fecha del último artículo modificado. Si no hay + # ninguno, devuelve la fecha de modificación del sitio. # # @return [Time] def last_indexed_post_time indexed_posts.order(updated_at: :desc).select(:updated_at).first&.updated_at || updated_at end + # Encuentra la fecha de última modificación de los métodos de + # publicación. + # + # @return [Time] + def last_deploy_time + deploys.order(updated_at: :desc).select(:updated_at).first&.updated_at || updated_at + end + # Encuentra la fecha de última publicación exitosa, si no hay # ninguno, devuelve la fecha de modificación del sitio. #