Class: Sass::CacheStores::Memory

Inherits:
Base
  • Object
show all
Defined in:
lib/sass/cache_stores/memory.rb

Overview

A backend for the Sass cache using in-process memory.

Instance Method Summary collapse

Methods inherited from Base

#_retrieve, #_store, #key

Constructor Details

#initializeMemory

Create a new, empty cache store.


23
24
25
# File 'lib/sass/cache_stores/memory.rb', line 23

def initialize
  @contents = {}
end

Instance Method Details

#reset!

Destructively clear the cache.


41
42
43
# File 'lib/sass/cache_stores/memory.rb', line 41

def reset!
  @contents = {}
end

#retrieve(key, sha)

See Also:


28
29
30
31
32
33
# 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

#store(key, sha, obj)

See Also:


36
37
38
# File 'lib/sass/cache_stores/memory.rb', line 36

def store(key, sha, obj)
  @contents[key] = {:sha => sha, :obj => obj}
end