Class: FindCache::KeyGen

Inherits:
Object
  • Object
show all
Defined in:
lib/find_cache/key_gen.rb

Class Method Summary collapse

Class Method Details

.cache_key(model_name, id) ⇒ Object



6
7
8
# File 'lib/find_cache/key_gen.rb', line 6

def self.cache_key(model_name, id)
  "#{model_name}/#{id}"
end

.cache_key_ref(model_name, foreign_key_name, foreign_key_id) ⇒ Object



10
11
12
# File 'lib/find_cache/key_gen.rb', line 10

def self.cache_key_ref(model_name, foreign_key_name, foreign_key_id)
  "#{model_name}/#{foreign_key_name}-#{foreign_key_id}"
end

.clean_global_cacheObject



23
24
25
26
# File 'lib/find_cache/key_gen.rb', line 23

def self.clean_global_cache
  $find_cache_store.delete(CacheKeyGen.global_cache_key)
  CacheKeyGen.global_cache_key(true)
end

.global_cache_key(clear = false) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/find_cache/key_gen.rb', line 14

def self.global_cache_key(clear=false)
  return (Thread.current[:global_cache_key] = nil) if clear
  Thread.current[:global_cache_key] ||= (
    t = SimpleUUID::UUID.new(Time.now).to_i.to_s(16).rjust(32, "0")
    $find_cache_store[t] = {}
    t
  )
end