DEV: Make hex cache work like other caches (#20816)

This commit is contained in:
Daniel Waterworth 2023-03-27 09:22:53 -05:00 committed by GitHub
parent 9d34b73a5e
commit b2554e1490
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 4 deletions

View File

@ -409,13 +409,13 @@ class ColorScheme < ActiveRecord::Base
def self.lookup_hex_for_name(name, scheme_id = nil)
enabled_color_scheme = find_by(id: scheme_id) if scheme_id
enabled_color_scheme ||= Theme.where(id: SiteSetting.default_theme_id).first&.color_scheme
(enabled_color_scheme || base).colors.find { |c| c.name == name }.try(:hex) || "nil"
(enabled_color_scheme || base).colors.find { |c| c.name == name }.try(:hex)
end
def self.hex_for_name(name, scheme_id = nil)
cache_key = scheme_id ? name + "_#{scheme_id}" : name
hex_cache[cache_key] ||= lookup_hex_for_name(name, scheme_id)
hex_cache[cache_key] == "nil" ? nil : hex_cache[cache_key]
hex_cache.defer_get_set(scheme_id ? name + "_#{scheme_id}" : name) do
lookup_hex_for_name(name, scheme_id)
end
end
def colors=(arr)