lib/scrivito/cache.rb in scrivito_sdk-0.40.0 vs lib/scrivito/cache.rb in scrivito_sdk-0.41.0.rc1

- old
+ new

@@ -1,43 +1,4 @@ module Scrivito - -class Cache - attr_reader :cache_prefix, :fallback_backend - - def initialize(options = {}) - @fallback_backend, @cache_prefix = options[:fallback_backend], options[:cache_prefix] - @cache = {} + module Cache end - - def read(key) - value = @cache[key] - if !value && @fallback_backend - value = @fallback_backend.read(cache_key_for_fallback_backend(key)) - @cache[key] = value - end - value - end - - def write(key, value, options={}) - @fallback_backend.write(cache_key_for_fallback_backend(key), value, options) if @fallback_backend - @cache[key] = value - end - - def fetch(key, &block) - read(key) || block.call.tap { |value| write(key, value) } - end - - def clear - @cache = {} - end - - private - - def cache_key_for_fallback_backend(key) - # Workaround for rails/rails#15616. Will be fixed in Rails 4.2. - key = Digest::SHA1.hexdigest(key) - @cache_prefix ? "#{@cache_prefix}/#{key}" : key - end end - -end # module Scrivito -