Sha256: 11da720e662fb8ec3498caa0fd391e963a206ce6281e4913fbc59235ff7b6ecc
Contents?: true
Size: 1.06 KB
Versions: 8
Compression:
Stored size: 1.06 KB
Contents
module Middleman # Simple shared cache implementation class Cache # Initialize def initialize self.clear end # Either get the cached key or save the contents of the block # # @param Anything Hash can use as a key # @return Cached value def fetch(*key) @cache[key] ||= yield end # Whether the key is in the cache # # @param Anything Hash can use as a key # @return [Boolean] def has_key?(key) @cache.has_key?(key) end # Get a specific key # # @param Anything Hash can use as a key # @return Cached value def get(key) @cache[key] end def keys @cache.keys end # Clear the entire cache def clear @cache = {} end # Set a specific key # # @param Anything Hash can use as a key # @param Cached value def set(key, value) @cache[key] = value end # Remove a specific key # @param Anything Hash can use as a key def remove(*key) @cache.delete(key) end end end
Version data entries
8 entries across 8 versions & 2 rubygems