module ClassCacher::ModelAdditions
Public Class Methods
cached_unique_class_cache_key()
click to toggle source
# File lib/class_cacher/model_additions.rb, line 20 def self.cached_unique_class_cache_key Rails.cache.fetch(["cached_unique_class_cache_key", self.name]) { self.unique_class_cache_key } end
unique_class_cache_key()
click to toggle source
# File lib/class_cacher/model_additions.rb, line 11 def self.unique_class_cache_key max_updated_at = self.pluck("MAX(updated_at)").first.to_s parsed_max_updated_at = "#{ max_updated_at.present? ? DateTime.parse(max_updated_at).utc.to_s(:number) : nil }" count = self.count Digest::SHA1.hexdigest "#{ [parsed_max_updated_at, self.name, count] }" end
Public Instance Methods
flush_unique_class_cache_key()
click to toggle source
# File lib/class_cacher/model_additions.rb, line 7 def flush_unique_class_cache_key Rails.cache.delete(["cached_unique_class_cache_key", self.class.name]) end
unique_class_cache()
click to toggle source
# File lib/class_cacher/model_additions.rb, line 3 def unique_class_cache after_commit :flush_unique_class_cache_key private def flush_unique_class_cache_key Rails.cache.delete(["cached_unique_class_cache_key", self.class.name]) end def self.unique_class_cache_key max_updated_at = self.pluck("MAX(updated_at)").first.to_s parsed_max_updated_at = "#{ max_updated_at.present? ? DateTime.parse(max_updated_at).utc.to_s(:number) : nil }" count = self.count Digest::SHA1.hexdigest "#{ [parsed_max_updated_at, self.name, count] }" end def self.cached_unique_class_cache_key Rails.cache.fetch(["cached_unique_class_cache_key", self.name]) { self.unique_class_cache_key } end end