Class: ActiveSupport::Cache::Strategy::LocalCache::LocalStore

Inherits:
ActiveSupport::Cache::Store show all
Defined in:
lib/active_support/cache/strategy/local_cache.rb

Overview

Simple memory backed cache. This cache is not thread safe and is intended only for serving as a temporary memory cache for a single thread.

Instance Attribute Summary

Attributes inherited from ActiveSupport::Cache::Store

#options, #silence

Instance Method Summary collapse

Methods inherited from ActiveSupport::Cache::Store

#cleanup, #decrement, #delete, #delete_matched, #exist?, #fetch, #fetch_multi, #increment, #mute, #read, #read_multi, #silence!, #write

Constructor Details

#initializeLocalStore

Returns a new instance of LocalStore.



37
38
39
40
# File 'lib/active_support/cache/strategy/local_cache.rb', line 37

def initialize
  super
  @data = {}
end

Instance Method Details

#clear(options = nil) ⇒ Object



47
48
49
# File 'lib/active_support/cache/strategy/local_cache.rb', line 47

def clear(options = nil)
  @data.clear
end

#delete_entry(key, options) ⇒ Object



60
61
62
# File 'lib/active_support/cache/strategy/local_cache.rb', line 60

def delete_entry(key, options)
  !!@data.delete(key)
end

#fetch_entry(key, options = nil) ⇒ Object

:nodoc:



64
65
66
# File 'lib/active_support/cache/strategy/local_cache.rb', line 64

def fetch_entry(key, options = nil) # :nodoc:
  @data.fetch(key) { @data[key] = yield }
end

#read_entry(key, options) ⇒ Object



51
52
53
# File 'lib/active_support/cache/strategy/local_cache.rb', line 51

def read_entry(key, options)
  @data[key]
end

#synchronizeObject

Don’t allow synchronizing since it isn’t thread safe.



43
44
45
# File 'lib/active_support/cache/strategy/local_cache.rb', line 43

def synchronize # :nodoc:
  yield
end

#write_entry(key, value, options) ⇒ Object



55
56
57
58
# File 'lib/active_support/cache/strategy/local_cache.rb', line 55

def write_entry(key, value, options)
  @data[key] = value
  true
end