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 documento 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.



153
154
155
156
157
158
159
160
161
162
163
164
# Arquivo 'lib/mongoid/toqueable.rb', linha 153

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.



170
171
172
173
174
175
# Arquivo 'lib/mongoid/toqueable.rb', linha 170

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.



183
184
185
# Arquivo 'lib/mongoid/toqueable.rb', linha 183

def toque_callbacks_suppressed?(name)
  toque_callback_statuses[name]
end