DEV: Reduce duplication with DistributedMutex#clear_regex (#25795)

This commit is contained in:
Daniel Waterworth 2024-02-21 14:19:04 -06:00 committed by GitHub
parent bf7470e93b
commit 087712c1a6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 9 additions and 9 deletions

View File

@ -20,11 +20,7 @@ class ApplicationSerializer < ActiveModel::Serializer
when String
fragment_cache.delete(name_or_regexp)
when Regexp
fragment_cache
.hash
.keys
.select { |k| k =~ name_or_regexp }
.each { |k| fragment_cache.delete(k) }
fragment_cache.clear_regex(name_or_regexp)
end
end

View File

@ -47,4 +47,8 @@ class DistributedCache < MessageBus::DistributedCache
super()
end
end
def clear_regex(regex)
hash.keys.select { |k| k =~ regex }.each { |k| delete(k) }
end
end

View File

@ -23,19 +23,19 @@ class Stylesheet::Manager
end
def self.clear_theme_cache!
cache.hash.keys.select { |k| k =~ /theme/ }.each { |k| cache.delete(k) }
cache.clear_regex(/theme/)
end
def self.clear_color_scheme_cache!
cache.hash.keys.select { |k| k =~ /color_definitions/ }.each { |k| cache.delete(k) }
cache.clear_regex(/color_definitions/)
end
def self.clear_core_cache!(targets)
cache.hash.keys.select { |k| k =~ /#{targets.join("|")}/ }.each { |k| cache.delete(k) }
cache.clear_regex(/#{targets.join("|")}/)
end
def self.clear_plugin_cache!(plugin)
cache.hash.keys.select { |k| k =~ /#{plugin}/ }.each { |k| cache.delete(k) }
cache.clear_regex(/#{plugin}/)
end
def self.color_scheme_cache_key(color_scheme, theme_id = nil)