diff --git a/app/models/color_scheme.rb b/app/models/color_scheme.rb index ccd8d92e933..f1099a10d87 100644 --- a/app/models/color_scheme.rb +++ b/app/models/color_scheme.rb @@ -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)