Method: ActiveRecord::Integration#cache_key

Defined in:
lib/active_record/integration.rb

#cache_keyObject

Returns a cache key that can be used to identify this record.

Product.new.cache_key     # => "products/new"
Product.find(5).cache_key # => "products/5" (updated_at not available)
Person.find(5).cache_key  # => "people/5-20071224150000" (updated_at available)


48
49
50
51
52
53
54
55
56
57
58
# File 'lib/active_record/integration.rb', line 48

def cache_key
  case
  when new_record?
    "#{self.class.model_name.cache_key}/new"
  when timestamp = max_updated_column_timestamp
    timestamp = timestamp.utc.to_s(cache_timestamp_format)
    "#{self.class.model_name.cache_key}/#{id}-#{timestamp}"
  else
    "#{self.class.model_name.cache_key}/#{id}"
  end
end