Class: Perry::Caching
- Inherits:
-
Object
- Object
- Perry::Caching
- Defined in:
- lib/perry/caching.rb
Class Method Summary collapse
- .clean_registry ⇒ Object
-
.disable ⇒ Object
Disable caching flag.
-
.enable ⇒ Object
Enable caching flag.
-
.enabled? ⇒ Boolean
Return enabled flag status.
-
.forgo(&block) ⇒ Object
Accept a block to NOT cache in – caching will be disabled for this block and then returned to the previous status.
-
.register(method = nil, &block) ⇒ Object
Register a method to be reset.
-
.registered ⇒ Object
Return a list of registered methods.
- .registry ⇒ Object
-
.reset ⇒ Object
Resets all registered caching services.
-
.use(&block) ⇒ Object
Accept a block to use caching in – cache will be reset after the block and the original state of the enabled flag will be set after the block exits.
Class Method Details
.clean_registry ⇒ Object
68 69 70 71 |
# File 'lib/perry/caching.rb', line 68 def self.clean_registry @registry = [] @enabled = nil end |
.disable ⇒ Object
Disable caching flag
41 42 43 |
# File 'lib/perry/caching.rb', line 41 def self.disable @enabled = false end |
.enable ⇒ Object
Enable caching flag
34 35 36 |
# File 'lib/perry/caching.rb', line 34 def self.enable @enabled = true end |
.enabled? ⇒ Boolean
Return enabled flag status
48 49 50 |
# File 'lib/perry/caching.rb', line 48 def self.enabled? @enabled end |
.forgo(&block) ⇒ Object
Accept a block to NOT cache in – caching will be disabled for this block and then returned to the previous status.
64 65 66 |
# File 'lib/perry/caching.rb', line 64 def self.forgo(&block) caching_block(false, &block) end |
.register(method = nil, &block) ⇒ Object
Register a method to be reset
15 16 17 18 |
# File 'lib/perry/caching.rb', line 15 def self.register(method=nil, &block) registry @registry << (method || block) end |
.registered ⇒ Object
Return a list of registered methods
27 28 29 |
# File 'lib/perry/caching.rb', line 27 def self.registered @registry || [] end |
.registry ⇒ Object
20 21 22 |
# File 'lib/perry/caching.rb', line 20 def self.registry @registry ||= [] end |
.reset ⇒ Object
Resets all registered caching services. These can be middlewares, processors, adapters, or anything that needs to be called upon a cache reset.
8 9 10 |
# File 'lib/perry/caching.rb', line 8 def self.reset registry.each { |method| method.call } end |
.use(&block) ⇒ Object
Accept a block to use caching in – cache will be reset after the block and the original state of the enabled flag will be set after the block exits
56 57 58 |
# File 'lib/perry/caching.rb', line 56 def self.use(&block) caching_block(true, &block) end |