module BlanketCachekey

Constants

VERSION

Attributes

cache[RW]

Public Class Methods

blanket_cachekey() click to toggle source
# File lib/blanket_cachekey.rb, line 28
def blanket_cachekey 
  BlanketCachekey.cache.fetch(blanket_cachekey_name) do
    "#{table_name}:#{Time.now.to_i}:#{Time.now.nsec}"
  end
end
included(model) click to toggle source
# File lib/blanket_cachekey.rb, line 12
def self.included(model)
  model.class_eval do

    after_save :invalidate_blanket_cachekey
    after_destroy :invalidate_blanket_cachekey

    private

    def invalidate_blanket_cachekey
      self.class.invalidate_blanket_cachekey
    end


    class << self


      def blanket_cachekey 
        BlanketCachekey.cache.fetch(blanket_cachekey_name) do
          "#{table_name}:#{Time.now.to_i}:#{Time.now.nsec}"
        end
      end

      def invalidate_blanket_cachekey
        BlanketCachekey.cache.delete blanket_cachekey_name
      end

      private 

      def blanket_cachekey_name
        "blanket_cachekey:name:#{self.table_name}"
      end


    end

  end

end
invalidate_blanket_cachekey() click to toggle source
# File lib/blanket_cachekey.rb, line 34
def invalidate_blanket_cachekey
  BlanketCachekey.cache.delete blanket_cachekey_name
end

Private Class Methods

blanket_cachekey_name() click to toggle source
# File lib/blanket_cachekey.rb, line 40
def blanket_cachekey_name
  "blanket_cachekey:name:#{self.table_name}"
end

Public Instance Methods

invalidate_blanket_cachekey() click to toggle source
# File lib/blanket_cachekey.rb, line 20
def invalidate_blanket_cachekey
  self.class.invalidate_blanket_cachekey
end