recent rails versions come with a nice cache_key method that concatenates
class_name + id + timestamp
this together with the ActiveRecord "touch" method would work great because
cache expiration is automatic when the record gets updated.
this method "cache_key" is being overwritten in the "cache_fu" plugin.
265 def cache_key
I was thinking that maybe something like this would do:
return super if self.class.superclass.to_s == 'ActiveRecord::Base'
So well, may be it needs a little bit more code and tests to be robust.
but you sort of get the idea.
I forked, and was thinking of making the changes but thought of confirming this
Thanks for rip, cijoe, network-graphs?? and more!
I spent a few more minutes on making it more robust
return true unless self.respond_to? :class
return true unless self.class.respond_to? :superclass
return true unless self.class.superclass.respond_to? :to_s
return true unless self.class.superclass.to_s == 'ActiveRecord::Base'
should_override_cache_key? ? self.class.cache_key(cache_id) : super