Class: Merb::Cache::DummyStore
- Inherits:
-
Object
- Object
- Merb::Cache::DummyStore
- Defined in:
- lib/merb-cache/cache-store/dummy.rb
Instance Method Summary collapse
-
#cache(_controller, key, from_now = nil, &block) ⇒ Object
Capture or restore the data in cache.
-
#cache_get(key) ⇒ Object
Fetch data from memcache using the specified key The entry is deleted if it has expired.
-
#cache_set(key, data, from_now = nil) ⇒ Object
Store data to memcache using the specified key.
-
#cache_store_type ⇒ Object
Gives info on the current cache store.
-
#cached?(key) ⇒ Boolean
Checks whether a cache entry exists.
-
#expire(key) ⇒ Object
Expire the cache entry identified by the given key.
-
#expire_all ⇒ Object
Expire all the cache entries.
-
#expire_match(key) ⇒ Object
Expire the cache entries matching the given key.
-
#initialize ⇒ DummyStore
constructor
Provides dummy cache store for merb-cache.
-
#prepare ⇒ Object
This method is there to ensure minimal requirements are met (directories are accessible, table exists, connected to server, …).
Constructor Details
#initialize ⇒ DummyStore
Provides dummy cache store for merb-cache
4 5 6 7 |
# File 'lib/merb-cache/cache-store/dummy.rb', line 4 def initialize @config = Merb::Controller._cache.config prepare end |
Instance Method Details
#cache(_controller, key, from_now = nil, &block) ⇒ Object
Capture or restore the data in cache. If the cache entry expired or does not exist, the data are taken from the execution of the block, marshalled and stored in cache. Otherwise, the data are loaded from the cache and returned unmarshalled
Parameters
- _controller<Merb::Controller>
-
The instance of the current controller
- key<String>
-
The key identifying the cache entry
- from_now<~minutes>
-
The number of minutes (from now) the cache should persist
- &block
-
The template to be used or not
Additional information
When fetching data (the cache entry exists and has not expired) The data are loaded from the cache and returned unmarshalled. Otherwise: The controller is used to capture the rendered template (from the block). It uses the capture_#engine and concat_#engine methods to do so. The captured data are then marshalled and stored.
45 46 47 48 49 |
# File 'lib/merb-cache/cache-store/dummy.rb', line 45 def cache(_controller, key, from_now = nil, &block) _data = _controller.send(:capture, &block) _controller.send(:concat, _data, block.binding) true end |
#cache_get(key) ⇒ Object
Fetch data from memcache using the specified key The entry is deleted if it has expired
Parameter
- key<Sting>
-
The key identifying the cache entry
Returns
- data<String, NilClass>
-
nil is returned whether the entry expired or was not found
71 72 73 |
# File 'lib/merb-cache/cache-store/dummy.rb', line 71 def cache_get(key) nil end |
#cache_set(key, data, from_now = nil) ⇒ Object
Store data to memcache using the specified key
Parameters
- key<Sting>
-
The key identifying the cache entry
- data<String>
-
The data to be put in cache
- from_now<~minutes>
-
The number of minutes (from now) the cache should persist
58 59 60 |
# File 'lib/merb-cache/cache-store/dummy.rb', line 58 def cache_set(key, data, from_now = nil) true end |
#cache_store_type ⇒ Object
Gives info on the current cache store
Returns
The type of the current cache store
103 104 105 |
# File 'lib/merb-cache/cache-store/dummy.rb', line 103 def cache_store_type "dummy" end |
#cached?(key) ⇒ Boolean
Checks whether a cache entry exists
Parameter
- key<String>
-
The key identifying the cache entry
Returns
true if the cache entry exists, false otherwise
22 23 24 |
# File 'lib/merb-cache/cache-store/dummy.rb', line 22 def cached?(key) false end |
#expire(key) ⇒ Object
Expire the cache entry identified by the given key
Parameter
- key<Sting>
-
The key identifying the cache entry
79 80 81 |
# File 'lib/merb-cache/cache-store/dummy.rb', line 79 def expire(key) true end |
#expire_all ⇒ Object
Expire all the cache entries
95 96 97 |
# File 'lib/merb-cache/cache-store/dummy.rb', line 95 def expire_all true end |
#expire_match(key) ⇒ Object
Expire the cache entries matching the given key
Parameter
- key<Sting>
-
The key matching the cache entries
Warning !
This does not work in memcache.
90 91 92 |
# File 'lib/merb-cache/cache-store/dummy.rb', line 90 def expire_match(key) true end |
#prepare ⇒ Object
This method is there to ensure minimal requirements are met (directories are accessible, table exists, connected to server, …)
11 12 13 |
# File 'lib/merb-cache/cache-store/dummy.rb', line 11 def prepare true end |