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



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

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



26
27
28
# File 'lib/identity_cache/cache_key_generation.rb', line 26

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

#rails_cache_key_for_attribute_and_fields_and_values(attribute, fields, values) ⇒ Object



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

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_namespaceObject



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

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

#rails_cache_key_prefixObject



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

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