Class: Perry::Caching

Inherits:
Object
  • Object
show all
Defined in:
lib/perry/caching.rb

Class Method Summary collapse

Class Method Details

.clean_registryObject



68
69
70
71
# File 'lib/perry/caching.rb', line 68

def self.clean_registry
  @registry = []
  @enabled = nil
end

.disableObject

Disable caching flag



41
42
43
# File 'lib/perry/caching.rb', line 41

def self.disable
  @enabled = false
end

.enableObject

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

Returns:

  • (Boolean)


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

.registeredObject

Return a list of registered methods



27
28
29
# File 'lib/perry/caching.rb', line 27

def self.registered
  @registry || []
end

.registryObject



20
21
22
# File 'lib/perry/caching.rb', line 20

def self.registry
  @registry ||= []
end

.resetObject

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