From a91b52ea838bb9ccb794caff7e44ee770cf0a5ce Mon Sep 17 00:00:00 2001 From: Alexander Olofsson Date: Mon, 16 Sep 2024 20:44:22 +0200 Subject: [PATCH] Redo splay handling to be per update type --- lib/fic_tracker/models/story.rb | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/fic_tracker/models/story.rb b/lib/fic_tracker/models/story.rb index 0cb89f1..e7ffab3 100644 --- a/lib/fic_tracker/models/story.rb +++ b/lib/fic_tracker/models/story.rb @@ -155,9 +155,8 @@ module FicTracker::Models def ensure_fully_loaded return backend.load_full_story(self) unless id - refresh_content - refresh_metadata - apply_splay! + refresh_content(splay: true) + refresh_metadata(splay: true) full_load = true if chapters && chapters.size > 0 @@ -208,8 +207,11 @@ module FicTracker::Models [backend_name, slug, name].join('_').downcase.gsub(/[^[[:alnum:]]-_]/, '_').gsub(/__+/, '_').gsub(/^_|_$/, '') end - def refresh_metadata - refresh_metadata! if backend && needs_metadata_refresh? + def refresh_metadata(splay: false) + return unless backend && needs_metadata_refresh? + + self.last_metadata_refresh += rand(0..METADATA_REFRESH_INTERVAL) / 10 if splay + refresh_metadata! end def refresh_metadata! @@ -217,8 +219,11 @@ module FicTracker::Models backend.load_story(self) end - def refresh_content - refresh_content! if backend && needs_content_refresh? + def refresh_content(splay: false) + return unless backend && needs_content_refresh? + + self.last_content_refresh += rand(0..CONTENT_REFRESH_INTERVAL) / 10 if splay + refresh_content! # chapters.each(&:refresh_content) end @@ -228,11 +233,6 @@ module FicTracker::Models # chapters.each(&:refresh_content!) end - def apply_splay!(max: CONTENT_REFRESH_INTERVAL / 10) - self.last_metadata_refresh += rand(0..max) - self.last_content_refresh += rand(0..max) - end - def needs_metadata_refresh? # return true if id && authors.empty?