Módulo: Mongoid::Cacheable
Visão geral
Encapsula o comportamento em torno do cache.
Recolhimento do Resumo do método de instância
-
#cache_key ➤ string
Imprima a chave de cache.
-
#cache_version ➤ string | nada
Retorne a versão do cache para este modelo.
Detalhes do método de instância
#cache_key ➤ string
Imprima a chave de cache. Isso anexará valores diferentes ao nome do modelo plural.
Se new_record? - adicionará /new Non-nil cache_version? - anexar /ID Non-nil updated_at - anexar /ID-updated_at.to_formatted_s(cache_timestamp_format) Caso contrário - acrescente /ID
Isso geralmente é chamado dentro de um bloco cache ()
27 28 29 30 31 32 33 |
# Arquivo 'lib/mongoid/cacheable.rb', linha 27 def cache_key Método "#{model_key}/new" se new_record? Método "#{model_key}/#{_id}" se cache_version Método "#{model_key}/#{_id}-#{updated_at.utc.to_formatted_s()}" se tentar(:updated_at) "#{model_key}/#{_id}" end |
#cache_version ➤ string | nada
Retorne a versão do cache para este modelo. Por padrão, ele retorna o campo updated_at (se presente) formatado como uma string ou nil se o modelo não tiver um campo Updated_at . Modelos com necessidades diferentes podem substituir este método para se adequar ao comportamento desejado.
TODO: podemos testar isso usando um MemoryStore, colocando algo nele, atualizando o carimbo de data/hora no registro e tentando ler o valor do armazenamento de memória. Ele não deve encontrá-lo, porque a versão mudou.
46 47 48 49 50 |
# Arquivo 'lib/mongoid/cacheable.rb', linha 46 def cache_version Método a menos que has_attribute?('updated_at') && updated_at.presente? updated_at.utc.to_formatted_s() end |