class Sass::CacheStores::Memory
A backend for the Sass
cache using in-process memory.
Public Class Methods
Source
# File lib/sass/cache_stores/memory.rb, line 18 def self._load(repr) Memory.new end
If we deserialize this class, just make a new empty one.
@private
Source
# File lib/sass/cache_stores/memory.rb, line 23 def initialize @contents = {} end
Create a new, empty cache store.
Public Instance Methods
Source
# File lib/sass/cache_stores/memory.rb, line 11 def _dump(depth) "" end
Since the {Memory} store is stored in the Sass
tree’s options hash, when the options get serialized as part of serializing the tree, you get crazy exponential growth in the size of the cached objects unless you don’t dump the cache.
@private
Source
# File lib/sass/cache_stores/memory.rb, line 41 def reset! @contents = {} end
Destructively clear the cache.
Source
# File lib/sass/cache_stores/memory.rb, line 28 def retrieve(key, sha) return unless @contents.has_key?(key) return unless @contents[key][:sha] == sha obj = @contents[key][:obj] obj.respond_to?(:deep_copy) ? obj.deep_copy : obj.dup end
@see Base#retrieve
Source
# File lib/sass/cache_stores/memory.rb, line 36 def store(key, sha, obj) @contents[key] = {:sha => sha, :obj => obj} end
@see Base#store