Class: SuperFinder::CacheManager

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/super_finder/cache_manager.rb

Constant Summary collapse

@@caching_keys =
{}

Instance Method Summary collapse

Instance Method Details

#fetch(klass, scoper = nil, &block) ⇒ Object



9
10
11
# File 'lib/super_finder/cache_manager.rb', line 9

def fetch(klass, scoper = nil, &block)
  ::Rails.cache.fetch(self.key(klass, scoper), &block)
end

#key(klass, scoper = nil) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/super_finder/cache_manager.rb', line 13

def key(klass, scoper = nil)
  key = internal_key(klass, scoper)
  
  @@caching_keys[key] ||= Time.now

  "superfinder_#{key}_#{@@caching_keys[key].to_i}"
end

#refresh!(klass, scoper = nil) ⇒ Object



21
22
23
# File 'lib/super_finder/cache_manager.rb', line 21

def refresh!(klass, scoper = nil)
  @@caching_keys[internal_key(klass, scoper)] = nil
end