Módulo: Mongoid::Association::Referenced::CounterCache::ClassMethods
- Definido en:
- lib/mongoid/association/referenced/counter_cache.rb
Colapso del resumen del método de instancia
-
#decrement_counter(nombre_del_contador, id) ⇒ Objeto
Disminuye el nombre del contador de las entradas que coinciden con el id en uno.
-
#increment_counter(nombre_del_contador, id) ⇒ Objeto
Incrementa el nombre del contador en las entradas que coincidan con el id por uno.
-
#reset_counters(id, *counters) ⇒ Objeto
Restablezca el contador dado utilizando la consulta .count() desde la base de datos.
-
#update_counters(id, contadores) ⇒ Objeto
Actualice los contadores dados 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 contador_decremento(nombre_del_contador, ID.) contadores_de_actualización(ID., nombre_del_contador.a_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 contador_de_incrementos(nombre_del_contador, ID.) contadores_de_actualización(ID., nombre_del_contador.a_sym => 1) end |
#reset_counters(id, *counters) ⇒ objeto
Restablezca el contador dado mediante la consulta .count() desde la base de datos. Este método es útil si un contador se corrompió o se agregó uno nuevo a la colección.
39 40 41 42 43 44 45 46 |
# Archivo 'lib/mongoid/association/referenced/counter_cache.rb', línea 39 def restablecer_contadores(ID., *contadores) Documento = ID..is_a?(Documento) ? ID. : buscar(ID.) contadores.cada hacer |Nombre| relación_asociación = relaciones[Nombre] nombre_del_contador = relación_asociación.asociación inversa.nombre_de_columna_de_caché_de_contador Documento.update_attribute(nombre_del_contador, 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 contadores_de_actualización(ID., contadores) donde(:_identificación => ID.).Inc(contadores) end |