Módulo: Mongoid::Association::Referenced::CounterCache::ClassMethods
- Definido en:
- lib/mongoid/association/referenced/counter_cache.rb
Resumen del método de instancia colapsar
-
#decrement_counter(counter_name, id) ⇒ Object
Disminuye el nombre del contador de las entradas que coinciden con el id en uno.
-
#increment_counter(counter_name, id) ⇒ objeto
Incrementa el nombre del contador en las entradas que coincidan con el id por uno.
-
#reset_counters(id, *contadores) ⇒ Objeto
Restablece el contador dado usando .count() query de la base de datos.
-
#update_counters(id, counters) ⇒ Objeto
Actualiza los contadores proporcionados por el factor de valor.
Detalles del método de instancia
#decrement_counter(nombre_del_contador, id) ⇒ Objeto
Disminuye en uno el nombre del contador de las entradas que coincidan con el id. Este método se utiliza en las funciones de retorno de relaciones cuando counter_cache está habilitado
84 85 86 |
# Archivo 'lib/mongoid/association/referenced/counter_cache.rb', línea 84 def decrement_counter(counter_name, ID) actualizar_contadores(ID, counter_name.to_sym => -1) end |
#increment_counter(nombre_del_contador, id) ⇒ Objeto
Incrementa en uno el nombre del contador de las entradas que coinciden con el ID. Este método se utiliza en las devoluciones de llamadas de asociaciones cuando counter_cache está habilitado.
71 72 73 |
# Archivo 'lib/mongoid/association/referenced/counter_cache.rb', línea 71 def incrementar_conteo(counter_name, ID) actualizar_contadores(ID, counter_name.to_sym => 1) end |
#reset_counters(id, *counters) ⇒ objeto
Restablezca el contador dado usando el .count() query desde la base de datos. Este método es útil en caso de que un contador esté dañado o se haya añadido un nuevo contador a la colección.
39 40 41 42 43 44 45 46 |
# Archivo 'lib/mongoid/association/referenced/counter_cache.rb', línea 39 def reset_counters(ID, *contadores) Documento = ID.is_a?(Documento) ? ID : buscar(ID) contadores.cada hacer |Nombre| relation_association = relaciones[Nombre] counter_name = relation_association.asociación inversa.nombre_columna_cache_conteo Documento.update_attribute(counter_name, Documento.enviar(Nombre).count) end end |
#update_counters(id, contadores) ⇒ Objeto
Actualiza los contadores dados según el factor de valor. Utiliza el comando atómico $inc.
58 59 60 |
# Archivo 'lib/mongoid/association/referenced/counter_cache.rb', línea 58 def actualizar_contadores(ID, contadores) dónde(:_identificación => ID).Inc(contadores) end |