17 lines
701 B
Ruby
17 lines
701 B
Ruby
![]() |
module FasterCacheKeys
|
||
|
# A faster version of Rails' "cache_key" method.
|
||
|
#
|
||
|
# Rails' default "cache_key" method uses all kind of complex logic to figure
|
||
|
# out the cache key. In many cases this complexity and overhead may not be
|
||
|
# needed.
|
||
|
#
|
||
|
# This method does not do any timestamp parsing as this process is quite
|
||
|
# expensive and not needed when generating cache keys. This method also relies
|
||
|
# on the table name instead of the cache namespace name as the latter uses
|
||
|
# complex logic to generate the exact same value (as when using the table
|
||
|
# name) in 99% of the cases.
|
||
|
def cache_key
|
||
|
"#{self.class.table_name}/#{id}-#{read_attribute_before_type_cast(:updated_at)}"
|
||
|
end
|
||
|
end
|