Sha256: 874781e060aafa53c576c4bdb9171d0ef23d071adaccd706c8d5906086d8ad8d

Contents?: true

Size: 921 Bytes

Versions: 45

Compression:

Stored size: 921 Bytes

Contents

module Bizside
  module CacheUtil
    
    def fetch(key, options = {})
      if block_given?
        action = cache.exist?(key) ? 'READ' : 'WRITE'
        output_log "#{action} CACHE: #{key}"
        cache.fetch(key, options) do
          yield
        end
      else
        output_log "READ CACHE: #{key}" 
        cache.fetch(key, options)
      end
    end

    def delete(key)
      output_log "CLEAR CACHE: #{key}"
      cache.delete(key)
    end

    def delete_matched(matcher)
      output_log "CLEAR CACHE: #{matcher}"
      cache.delete_matched(matcher)
    end

    def clear(options = nil)
      output_log "CLEAR ALL CACHE"
      cache.clear(options)
    end

    def cache
      raise 'サブクラスで実装'
    end
    
    private
    
    def output_log message
      if defined?(Rails) && Rails.logger
        Rails.logger.info message
      else
        puts message
      end
    end

  end
end

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
bizside-2.3.10 lib/bizside/cache_util.rb
bizside-3.0.7 lib/bizside/cache_util.rb
bizside-3.0.6 lib/bizside/cache_util.rb
bizside-3.0.5 lib/bizside/cache_util.rb
bizside-3.0.4 lib/bizside/cache_util.rb
bizside-2.3.9 lib/bizside/cache_util.rb
bizside-3.0.3 lib/bizside/cache_util.rb
bizside-2.3.8 lib/bizside/cache_util.rb
bizside-3.0.2 lib/bizside/cache_util.rb
bizside-3.0.1 lib/bizside/cache_util.rb
bizside-3.0.0 lib/bizside/cache_util.rb
bizside-2.3.7 lib/bizside/cache_util.rb
bizside-2.3.6 lib/bizside/cache_util.rb
bizside-2.3.5 lib/bizside/cache_util.rb
bizside-2.3.4 lib/bizside/cache_util.rb
bizside-2.3.3 lib/bizside/cache_util.rb
bizside-2.3.2 lib/bizside/cache_util.rb
bizside-2.3.1 lib/bizside/cache_util.rb
bizside-2.3.0 lib/bizside/cache_util.rb
bizside-2.2.3 lib/bizside/cache_util.rb