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



16
17
18
# File 'lib/identity_cache/cache_key_generation.rb', line 16

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

#rails_cache_key(id) ⇒ Object



6
7
8
# File 'lib/identity_cache/cache_key_generation.rb', line 6

def rails_cache_key(id)
  rails_cache_key_prefix + id.to_s
end

#rails_cache_key_for_attribute_and_fields_and_values(attribute, fields, values) ⇒ Object



20
21
22
# File 'lib/identity_cache/cache_key_generation.rb', line 20

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

#rails_cache_key_prefixObject



10
11
12
13
14
# File 'lib/identity_cache/cache_key_generation.rb', line 10

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

#rails_cache_string_for_fields_and_values(fields, values) ⇒ Object



24
25
26
# File 'lib/identity_cache/cache_key_generation.rb', line 24

def rails_cache_string_for_fields_and_values(fields, values)
  "#{fields.join('/')}:#{IdentityCache.memcache_hash(values.join('/'))}"
end