Módulo: Mongoid::Equality

Estendido por:
ActiveSupport::Concern
Incluído em:
Componível
Definido em:
lib/mongoid/equality.rb

Visão geral

Este módulo contém o comportamento do clone/dup de documentos do Mongoid.

Definido sob namespace

Módulos: Métodos de classe

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#<=>(outro) ➤ Inteiro

A comparação padrão é por meio da versão de string do ID.

Exemplos:

Comparar dois documentos.

person <=> other_person

Parâmetros:

  • Outro (Documento)

    O documento com o qual comparar.

Retorna:

  • (Inteiro)

    -1, 0, 1.



20
21
22
# Arquivo 'lib/mongoid/equality.rb', linha 20

def <=>(Outro)
  attributes["_id"].to_s <=> Outro.attributes["_id"].to_s
end

#==(outro) ➤ verdadeiro | false

Executa verificação de igualdade nas IDs de documento . Para uma verificação de igualdade mais robusta, substitua este método.

Exemplos:

Compare por igualdade.

document == other

Parâmetros:

  • Outro (Documento | Objeto)

    O outro objeto com o qual comparar.

Retorna:

  • (verdadeiro | falso)

    Verdadeiro se os ids forem iguais, falso se não forem.



33
34
35
36
# Arquivo 'lib/mongoid/equality.rb', linha 33

def ==(Outro)
  auto.classe == Outro.classe &&
      attributes["_id"] == Outro.attributes["_id"]
end

#eql?(outro) ➤ verdadeiro | false

Delega para ==. Usado quando precisa de verificações em hashes.

Exemplos:

Executar verificação de igualdade.

document.eql?(other)

Parâmetros:

  • Outro (Documento | Objeto)

    O objeto em relação ao qual verificar.

Retorna:

  • (verdadeiro | falso)

    Verdadeiro se for igual, falso se não for.



46
47
48
# Arquivo 'lib/mongoid/equality.rb', linha 46

def eql?(Outro)
  auto == (Outro)
end