Módulo: Mongoid::Cacheable
Overview
Encapsula el comportamiento relacionado con el almacenamiento en caché.
Resumen del método de instancia colapsar
-
#cache_key ⇒ String
Imprime la clave de caché.
-
#cache_version ⇒ String | nil
Devuelva la versión de caché de este model.
Detalles del método de instancia
#cache_key ⇒ String
Imprime la clave de caché. Esto añadirá diferentes valores en el nombre del modelo plural.
Si se trata de un nuevo registro, se añadirá /new. Si cache_version no es nulo, se añadirá /id. Si updated_at no es nulo, se añadirá /id-updated_at.to_formatted_s(cache_timestamp_format). De lo contrario - añade /id
Esto suele llamarse dentro de un bloque caché()
27 28 29 30 31 32 33 |
# Archivo 'lib/mongoid/cacheable.rb', línea 27 def cache_key return "#{model_key}/new" si nuevo_registro? return "#{model_key}/#{_id}" si cache_version return "#{model_key}/#{_id}-#{updated_at.utc.to_formatted_s()}" si intentar(:updated_at) "#{model_key}/#{_id}" end |
#cache_version ⇒ String | nil
Devuelve la versión de caché para este model. De forma predeterminada, devuelve el campo updated_at (si está presente) formateado como una string, o nil si el model no tiene el campo updated_at. Los modelos con diferentes necesidades pueden anular este método para adaptarlo a su comportamiento deseado.
POR HACER: podemos probar esto usando un MemoryStore, poniendo algo en él, luego actualizando la marca de tiempo en el registro e intentando leer el valor del almacén de memoria. No debería encontrarlo porque la versión ha cambiado.
46 47 48 49 50 |
# Archivo 'lib/mongoid/cacheable.rb', línea 46 def cache_version return a menos que tiene_atributo?('updated_at') && updated_at.¿presente? updated_at.UTC.to_formatted_s() end |