Sha256: 6941f8c4f0da5788bfb407a7d487667ffa905bc82f293d38af7081aca4a003ed
Contents?: true
Size: 732 Bytes
Versions: 4
Compression:
Stored size: 732 Bytes
Contents
# frozen_string_literal: true class Autopublisher class << self def run!(_options = {}) if due_pages.any? PagesCore::CacheSweeper.once do due_pages.each do |p| p.update(autopublish: false) end end end queue! end def queue! return unless queued_pages.any? PagesCore::AutopublishJob .set(wait_until: queued_pages.first.published_at) .perform_later end protected def queued_pages Page.where(autopublish: true) .order("published_at ASC") .in_locale(I18n.default_locale) end def due_pages queued_pages.where(published_at: ...(Time.now.utc + 2.minutes)) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
pages_core-3.15.4 | app/models/autopublisher.rb |
pages_core-3.15.3 | app/models/autopublisher.rb |
pages_core-3.15.2 | app/models/autopublisher.rb |
pages_core-3.15.1 | app/models/autopublisher.rb |