Class: Cacheable::CacheAdapters::MemoryAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/cacheable/cache_adapters/memory_adapter.rb

Instance Method Summary collapse

Constructor Details

#initializeMemoryAdapter

Returns a new instance of MemoryAdapter.



4
5
6
# File 'lib/cacheable/cache_adapters/memory_adapter.rb', line 4

def initialize
  clear
end

Instance Method Details

#clearObject



33
34
35
# File 'lib/cacheable/cache_adapters/memory_adapter.rb', line 33

def clear
  @cache = {}
end

#delete(key) ⇒ Object



26
27
28
29
30
31
# File 'lib/cacheable/cache_adapters/memory_adapter.rb', line 26

def delete(key)
  return false unless exist?(key)

  cache.delete key
  true
end

#exist?(key) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/cacheable/cache_adapters/memory_adapter.rb', line 16

def exist?(key)
  cache.key?(key)
end

#fetch(key, _options = {}) ⇒ Object



20
21
22
23
24
# File 'lib/cacheable/cache_adapters/memory_adapter.rb', line 20

def fetch(key, _options = {})
  return read(key) if exist?(key)

  write(key, yield)
end

#read(key) ⇒ Object



8
9
10
# File 'lib/cacheable/cache_adapters/memory_adapter.rb', line 8

def read(key)
  cache[key]
end

#write(key, value) ⇒ Object



12
13
14
# File 'lib/cacheable/cache_adapters/memory_adapter.rb', line 12

def write(key, value)
  cache[key] = value
end