Módulo: Mongoid::Association::Referenced::CounterCache::ClassMethods
- Definido em:
- lib/mongoid/association/referenced/counter_cache.rb
Recolhimento do Resumo do método de instância
-
#decrement_counter(counter_name, ID) ➤ Objeto
Diminua o nome do contador das entradas que correspondem ao ID por um.
-
#increment_counter(counter_name, ID) ⇒ Object
Aumente o nome do contador das entradas que correspondem ao ID por um.
-
#reinício_counters(ID, *counters) ➤ Objeto
Redefinir o contador fornecido usando o .count() query do banco de dados.
-
#update_counters(ID, contadores) ➤ Objeto
Atualize os contadores fornecidos pelo fator de valor.
Detalhes do método de instância
#decrement_counter(counter_name, ID) ➤ Objeto
Diminua o nome do contador das entradas que correspondem ao ID por um. Este método é usado em chamadas de resposta de associações quando counter_cache está habilitado
84 85 86 |
# File 'lib/mongoid/association/referenced/counter_cache.rb', linha 84 def decrement_counter(counter_name, id) update_counters(id, counter_name.to_sym => -1) end |
#increment_counter(counter_name, ID) ⇒ Object
Aumente o nome do contador das entradas que correspondem ao ID por um. Este método é usado em chamadas de resposta de associações quando counter_cache está habilitado
71 72 73 |
# File 'lib/mongoid/association/referenced/counter_cache.rb', linha 71 def incremento_counter(counter_name, id) update_counters(id, counter_name.to_sym => 1) end |
#reinício_counters(ID, *counters) ➤ Objeto
Redefinir o contador fornecido usando o .count() query do banco de dados. Este método é útil caso um contador tenha sido corrompido ou um novo contador tenha sido adicionado à coleção.
39 40 41 42 43 44 45 46 |
# File 'lib/mongoid/association/referenced/counter_cache.rb', linha 39 def reinício_contadores(id, *Contadores) documento = id.is_a?(Documento) ? id : find(id) Contadores.cada fazer |name| connection_association = relações[name] counter_name = connection_association.inverse_association.counter_cache_column_name documento.update_attribute(counter_name, documento.enviar(name).contar) end end |
#update_counters(ID, contadores) ➤ Objeto
Atualize os contadores fornecidos pelo fator de valor. Ele usa o comando atômico $inc.
58 59 60 |
# File 'lib/mongoid/association/referenced/counter_cache.rb', linha 58 def update_counters(id, Contadores) ONDE(:_id => id).inc(Contadores) end |