Class: ActiveSupport::Cache::Strategy::LocalCache::LocalStore
- Inherits:
-
ActiveSupport::Cache::Store
- Object
- ActiveSupport::Cache::Store
- ActiveSupport::Cache::Strategy::LocalCache::LocalStore
- 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
Instance Method Summary collapse
- #clear(options = nil) ⇒ Object
- #delete_entry(key, **options) ⇒ Object
-
#fetch_entry(key, options = nil) ⇒ Object
:nodoc:.
-
#initialize ⇒ LocalStore
constructor
A new instance of LocalStore.
- #read_entry(key, **options) ⇒ Object
- #read_multi_entries(keys, **options) ⇒ Object
-
#synchronize ⇒ Object
Don’t allow synchronizing since it isn’t thread safe.
- #write_entry(key, value, **options) ⇒ Object
Methods inherited from ActiveSupport::Cache::Store
#cleanup, #decrement, #delete, #delete_matched, #exist?, #fetch, #fetch_multi, #increment, #mute, #read, #read_multi, #silence!, #write, #write_multi
Constructor Details
#initialize ⇒ LocalStore
Returns a new instance of LocalStore.
39 40 41 42 |
# File 'lib/active_support/cache/strategy/local_cache.rb', line 39 def initialize super @data = {} end |
Instance Method Details
#clear(options = nil) ⇒ Object
49 50 51 |
# File 'lib/active_support/cache/strategy/local_cache.rb', line 49 def clear( = nil) @data.clear end |
#delete_entry(key, **options) ⇒ Object
73 74 75 |
# File 'lib/active_support/cache/strategy/local_cache.rb', line 73 def delete_entry(key, **) !!@data.delete(key) end |
#fetch_entry(key, options = nil) ⇒ Object
:nodoc:
77 78 79 |
# File 'lib/active_support/cache/strategy/local_cache.rb', line 77 def fetch_entry(key, = nil) # :nodoc: @data.fetch(key) { @data[key] = yield } end |
#read_entry(key, **options) ⇒ Object
53 54 55 |
# File 'lib/active_support/cache/strategy/local_cache.rb', line 53 def read_entry(key, **) @data[key] end |
#read_multi_entries(keys, **options) ⇒ Object
57 58 59 60 61 62 63 64 65 66 |
# File 'lib/active_support/cache/strategy/local_cache.rb', line 57 def read_multi_entries(keys, **) values = {} keys.each do |name| entry = read_entry(name, **) values[name] = entry.value if entry end values end |
#synchronize ⇒ Object
Don’t allow synchronizing since it isn’t thread safe.
45 46 47 |
# File 'lib/active_support/cache/strategy/local_cache.rb', line 45 def synchronize # :nodoc: yield end |
#write_entry(key, value, **options) ⇒ Object
68 69 70 71 |
# File 'lib/active_support/cache/strategy/local_cache.rb', line 68 def write_entry(key, value, **) @data[key] = value true end |