cache-crispies
cache-crispies copied to clipboard
Add a hook for ActiveRecord CRUD to automatically trigger a priming of the cache
class FruitLoops < ApplicationRecord
after_create :prime_cache, type: :create, serializer: ToucanSam
after_update :prime_cache, type: :update, serializer: ToucanSam
after_destroy :prime_cache, type: :destroy, serializer: ToucanSam
# or possibly
after_commit :prime_cache, serializer: ToucanSam
...
end
This way you would be invalidating your cache and creating a new one on every CRUD action so that you'd nearly always be getting a cached result from the serializer.
In concert with this functionality, it would be nice to have a rake task to prime all of the caches initially.
That's a good thought, but this could also be implemented as a simple method like this right?
def prime_cache
ToucanSam.new(self).as_json
end
That being said, it also seems like it would be just as easy to add to the gem. If there is enough demand for it, I'd be happy to add it in or accept a PR.
I was thinking on adding this as well. @prpetten Did you get to implement this? If not, I can take care of it.