Module: CachedAt::Base::Helpers

Extended by:
ActiveSupport::Concern
Defined in:
lib/cached_at/helpers.rb

Instance Method Summary collapse

Instance Method Details

#cache_key(includes = nil) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
# File 'lib/cached_at/helpers.rb', line 32

def cache_key(includes = nil)
  if includes.nil? || includes.empty?
    super
  else
    timestamp_keys = ['cached_at'] + self.class.cached_at_columns_for_includes(includes)
    timestamp = max_updated_column_timestamp(timestamp_keys).utc.to_s(cache_timestamp_format)
    digest ||= Digest::MD5.new()
    digest << paramaterize_cache_includes(includes)
    "#{model_name.cache_key}/#{id}+#{digest.hexdigest}@#{timestamp}"
  end
end