Sha256: dd50ff8aef6a7ab4b62a3dc5ba64bbc1aaf36b7daa51c87dbe6e83d44fcb12b5
Contents?: true
Size: 548 Bytes
Versions: 31
Compression:
Stored size: 548 Bytes
Contents
module Concerns module Cacheable extend ActiveSupport::Concern included do after_save :flush_cache after_touch :flush_cache scope :find_in_cache, ->(value) { Rails.cache.fetch [name, value, Rails.env] do find_by!(@cache_field => value) end } end module ClassMethods def cache_by(field) @cache_field = field define_method(:flush_cache) do Rails.cache.delete [self.class.name, self.send(field), Rails.env] end end end end end
Version data entries
31 entries across 31 versions & 1 rubygems