Module: IdentityCache::CacheKeyGeneration::ClassMethods

Defined in:
lib/identity_cache/cache_key_generation.rb

Instance Method Summary collapse

Instance Method Details

#prefixed_rails_cache_keyObject



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

def prefixed_rails_cache_key
  "#{rails_cache_key_namespace}blob:#{base_class.name}:#{rails_cache_key_prefix}:"
end

#rails_cache_index_key_for_fields_and_values(fields, values) ⇒ Object



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

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)
  "#{prefixed_rails_cache_key}#{id}"
end

#rails_cache_key_for_attribute_and_fields_and_values(attribute, fields, values) ⇒ Object



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

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



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

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
# 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)
end