Módulo: Mongoid::Tocável

Estendido por:
Tocável
Incluído em:
Tocável
Definido em:
lib/mongoid/tocable.rb

Visão geral

Módulo Mixin, incluído no Mongoid::Document, para adicionar a funcionalidade de "toque" para atualizar o(s) carimbo(s) de data/hora de um document atomicamente.

Definido sob namespace

Módulos: Métodos de instância

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#define_tocável!(associação) ➤ Classe

Adicione a associação às associações tocáveis se a opção de toque tiver sido fornecida.

Exemplos:

Adicione o tocável.

Model.define_touchable!(assoc)

Parâmetros:

Retorna:

  • (Classe)

    A classe modelo.



148
149
150
151
152
153
154
155
156
157
158
159
# Arquivo 'lib/mongoid/toqueable.rb', linha 148

def define_tocável!(associação)
  name = associação.name
  method_name = define_relation_toque_method(name, associação)
  associação.inverse_class.toque fazer |classe|
    classe.after_save method_name
    classe.after_destroy method_name

    # Os Docs incorporados lidam com atualizações de toque recursivamente dentro
    # o próprio método #toque
    classe.after_toque method_name a menos que associação.incorporado?
  end
end

#suprime_toque_callbacks(nome) ➤ Objeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Suprime chamada de resposta de toque para a classe nomeada , durante o bloco associado.



165
166
167
168
169
170
# Arquivo 'lib/mongoid/toqueable.rb', linha 165

def suprime_toque_callbacks(name)
  Salvar, toque_callback_statuses[name] = toque_callback_statuses[name], true
  rendimento
garantir
  toque_callback_statuses[name] = Salvar
end

#toque_callbacks_suppressed?(nome) ➤ verdadeiro | false

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Consulta se os retornos de chamada por toque estão sendo suprimidos para a classe nomeada.

Retorna:

  • (verdadeiro | falso)

    Se as chamada de resposta por toque são suprimidas.



178
179
180
# Arquivo 'lib/mongoid/toqueable.rb', linha 178

def toque_callbacks_suppressed?(name)
  toque_callback_statuses[name]
end