Class: FullSearch::IndexCache

Inherits:
Object
  • Object
show all
Defined in:
lib/full_search/index_cache.rb

Class Method Summary collapse

Class Method Details

.clear!Object



13
14
15
# File 'lib/full_search/index_cache.rb', line 13

def self.clear!
  Thread.current[:full_search_index_cache] = nil
end

.fetch(key) ⇒ Object



17
18
19
20
21
22
# File 'lib/full_search/index_cache.rb', line 17

def self.fetch(key)
  cache = Thread.current[:full_search_index_cache]
  return yield unless cache
  return cache[key] if cache.key?(key)
  cache[key] = yield
end

.with_cacheObject



5
6
7
8
9
10
11
# File 'lib/full_search/index_cache.rb', line 5

def self.with_cache
  already_cached = !Thread.current[:full_search_index_cache].nil?
  Thread.current[:full_search_index_cache] ||= {}
  yield
ensure
  Thread.current[:full_search_index_cache] = nil unless already_cached
end