Move Cache into Util
This commit is contained in:
parent
d2d40079cc
commit
8a1342df9c
|
@ -11,9 +11,6 @@ require "active_support/json"
|
||||||
# Simple callback library
|
# Simple callback library
|
||||||
require "middleman-core/vendor/hooks-0.2.0/lib/hooks"
|
require "middleman-core/vendor/hooks-0.2.0/lib/hooks"
|
||||||
|
|
||||||
# Using a cache
|
|
||||||
require "middleman-core/cache"
|
|
||||||
|
|
||||||
require "middleman-core/sitemap"
|
require "middleman-core/sitemap"
|
||||||
|
|
||||||
# Core Middleman Class
|
# Core Middleman Class
|
||||||
|
@ -309,9 +306,9 @@ module Middleman
|
||||||
# Shared cache instance
|
# Shared cache instance
|
||||||
#
|
#
|
||||||
# @private
|
# @private
|
||||||
# @return [Middleman::Cache] The cache
|
# @return [Middleman::Util::Cache] The cache
|
||||||
def self.cache
|
def self.cache
|
||||||
@_cache ||= ::Middleman::Cache.new
|
@_cache ||= ::Middleman::Util::Cache.new
|
||||||
end
|
end
|
||||||
delegate :cache, :to => :"self.class"
|
delegate :cache, :to => :"self.class"
|
||||||
|
|
||||||
|
|
|
@ -1,57 +0,0 @@
|
||||||
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
|
|
|
@ -31,5 +31,60 @@ module Middleman
|
||||||
def self.normalize_path(path)
|
def self.normalize_path(path)
|
||||||
path.sub(/^\//, "").gsub("%20", " ")
|
path.sub(/^\//, "").gsub("%20", " ")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# 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
|
end
|
||||||
end
|
end
|
Loading…
Reference in a new issue