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
-