Skip to content

avoid overriding the "cache_key" method for ActiveRecord::Base children #2

Description

@ktlacaelel

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.

lib/acts_as_cached/cache_methods.rb:265

265     def cache_key
266       self.class.cache_key(cache_id)
267     end

I was thinking that maybe something like this would do:

return super if self.class.superclass.to_s == 'ActiveRecord::Base'
self.class.cache_key(cache_id)

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions