Module: IdentityCache::CacheKeyGeneration::ClassMethods

Defined in:
lib/identity_cache/cache_key_generation.rb

Instance Method Summary collapse

Instance Method Details

#rails_cache_index_key_for_fields_and_values(fields, values) ⇒ Object



39
40
41
# File 'lib/identity_cache/cache_key_generation.rb', line 39

def rails_cache_index_key_for_fields_and_values(fields, values)
  "#{rails_cache_key_namespace}index:#{base_class.name}:#{rails_cache_string_for_fields_and_values(fields, values)}"
end

#rails_cache_key(id) ⇒ Object



30
31
32
# File 'lib/identity_cache/cache_key_generation.rb', line 30

def rails_cache_key(id)
  "#{rails_cache_key_prefix}#{id}"
end

#rails_cache_key_for_attribute_and_fields_and_values(attribute, fields, values) ⇒ Object



43
44
45
# File 'lib/identity_cache/cache_key_generation.rb', line 43

def rails_cache_key_for_attribute_and_fields_and_values(attribute, fields, values)
  "#{rails_cache_key_namespace}attribute:#{base_class.name}:#{attribute}:#{rails_cache_string_for_fields_and_values(fields, values)}"
end

#rails_cache_key_namespace ⇒ Object



47
48
49
50
# File 'lib/identity_cache/cache_key_generation.rb', line 47

def rails_cache_key_namespace
  ns = IdentityCache.cache_namespace
  ns.is_a?(Proc) ? ns.call(self) : ns
end

#rails_cache_key_prefix ⇒ Object



34
35
36
37
# File 'lib/identity_cache/cache_key_generation.rb', line 34

def rails_cache_key_prefix
  @rails_cache_key_prefix ||= IdentityCache::CacheKeyGeneration.denormalized_schema_hash(self)
  "#{rails_cache_key_namespace}blob:#{base_class.name}:#{@rails_cache_key_prefix}:"
end