Sha256: 217a20604e620aebc4a45c5bf69d1325cd85e08f6d667873937bf974da8d9b04

Contents?: true

Size: 470 Bytes

Versions: 2

Compression:

Stored size: 470 Bytes

Contents

module Cachers
  module Concern
    extend ActiveSupport::Concern

    %i(include extend).each do |action|
      send action, Delegation
    end

    included do
      after_commit :cache, on: :create
      after_commit :recache, on: :update
      after_commit :uncache, on: :destroy
    end

    def cacher
      @cacher ||= self.class.cacher.new(self)
    end

    module ClassMethods

      def cacher
        "#{name}Cacher".constantize
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cachers-4.1.0.1 lib/cachers/concern.rb
cachers-4.1.0.0 lib/cachers/concern.rb