class Middleman::FragmentCaching::Cache
Cache
management
Public Class Methods
create_store(kind, options = {})
click to toggle source
Creates a store @return [Moneta] store instance
# File lib/middleman/fragment_caching/cache.rb, line 22 def create_store(kind, options = {}) Moneta.new(kind, options) end
dir()
click to toggle source
# File lib/middleman/fragment_caching/cache.rb, line 10 def dir @dir ||= File.expand_path('tmp/cache').tap do |path| FileUtils.mkdir_p(path) end end
store()
click to toggle source
# File lib/middleman/fragment_caching/cache.rb, line 16 def store @store ||= create_store(:File, dir: dir) end
Public Instance Methods
clear!()
click to toggle source
# File lib/middleman/fragment_caching/cache.rb, line 56 def clear! expires_keys.each do |key| store.delete key end stored_keys.clear end
expires_keys()
click to toggle source
# File lib/middleman/fragment_caching/cache.rb, line 52 def expires_keys store.keys - stored_keys.to_a end
find_or_set(key, &block)
click to toggle source
# File lib/middleman/fragment_caching/cache.rb, line 37 def find_or_set(key, &block) key = key.to_s if !key.empty? && store.key?(key) content = store[key] else content = block.call store[key] = content unless key.empty? end stored_keys << key unless key.empty? content end
store()
click to toggle source
# File lib/middleman/fragment_caching/cache.rb, line 29 def store self.class.store end
stored_keys()
click to toggle source
# File lib/middleman/fragment_caching/cache.rb, line 33 def stored_keys @stored_keys ||= Set.new end