From a35f8cdb02575b6d63b010de23f37c35b1023ffb Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Thu, 30 Apr 2020 09:45:02 +0200 Subject: [PATCH] Move cache keys used in views into the cache service --- app/services/cache_service.rb | 13 +++++++++++++ app/views/layouts/darkswarm.html.haml | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/services/cache_service.rb b/app/services/cache_service.rb index 4a87dcea9a..ba19497529 100644 --- a/app/services/cache_service.rb +++ b/app/services/cache_service.rb @@ -20,4 +20,17 @@ class CacheService def self.latest_timestamp_by_class(cached_class) cached_class.maximum(:updated_at).to_i end + + module FragmentCaching + # Rails' caching in views is called "Fragment Caching" and uses some slightly different logic. + # Note: supplied keys are actually prepended with "view/" under the hood. + + def self.ams_all_taxons_key + "inject-all-taxons-#{CacheService.latest_timestamp_by_class(Spree::Taxon)}" + end + + def self.ams_all_properties_key + "inject-all-properties-#{CacheService.latest_timestamp_by_class(Spree::Property)}" + end + end end diff --git a/app/views/layouts/darkswarm.html.haml b/app/views/layouts/darkswarm.html.haml index d080be45dd..50b2d3f812 100644 --- a/app/views/layouts/darkswarm.html.haml +++ b/app/views/layouts/darkswarm.html.haml @@ -48,9 +48,9 @@ = inject_current_hub = inject_current_user = inject_rails_flash - - cache "inject-all-taxons-#{CacheService.latest_timestamp_by_class(Spree::Taxon)}" do + - cache CacheService::FragmentCaching.ams_all_taxons_key do = inject_taxons - - cache "inject-all-properties-#{CacheService.latest_timestamp_by_class(Spree::Property)}" do + - cache CacheService::FragmentCaching.ams_all_properties_key do = inject_properties = inject_current_order = inject_currency_config