5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-17 08:46:26 +00:00
panel/app/models/site/build_stats.rb

53 lines
1.5 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
class Site
module BuildStats
extend ActiveSupport::Concern
included do
# Devuelve el tiempo promedio de publicación para este sitio
#
# @return [Integer]
def average_publication_time
build_stats.group(:action).average(:seconds).values.reduce(:+).round
end
# Devuelve el tiempo promedio de compilación para sitios similares
# a este.
#
# @return [Integer]
def average_publication_time_for_similar_sites
similar_deploys = Deploy.where(type: deploys.pluck(:type)).pluck(:id)
BuildStat.where(deploy_id: similar_deploys).group(:action).average(:seconds).values.reduce(:+).round
end
# Define si podemos calcular el tiempo promedio de publicación
# para este sitio
#
# @return [Boolean]
def average_publication_time_calculable?
build_stats.jekyll.where(status: true).count > 1
end
def similar_sites?
!design.no_theme?
end
# Detecta si el sitio todavía no ha sido publicado
#
# @return [Boolean]
def not_published_yet?
build_stats.jekyll.where(status: true).count.zero?
end
# Hubo cambios desde la última publicación?
#
# @return [Boolean]
def awaiting_publication?
waiting? && updated_at >= (indexed_posts.order(updated_at: :desc).select(:updated_at).first&.updated_at || 1.second.ago)
end
end
end
end