Módulo: Mongoid::Equality

Estendido por:
ActiveSupport::Concern
Incluído em:
Componível
Definido em:
build/mongoid-8.1/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.



19
20
21
# File 'build/mongoid-8.1/lib/mongoid/equality.rb', linha 19

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.



32
33
34
35
# File 'build/mongoid-8.1/lib/mongoid/equality.rb', linha 32

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

#===(outro) ➤ verdadeiro | false

Executa a verificação de igualdade de classe .

Exemplos:

Compare as aulas.

document === other

Parâmetros:

  • Outro (Documento | Objeto)

    O outro objeto com o qual comparar.

Retorna:

  • (verdadeiro | falso)

    Verdadeiro se as classes forem iguais, falsas se não.



45
46
47
48
49
50
51
# File 'build/mongoid-8.1/lib/mongoid/equality.rb', linha 45

def ===(Outro)
  se Mongoid.legacy_triple_iguals
    Outro.classe == classe ? auto.classe === Outro : auto == Outro
  mais
    super
  end
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.



61
62
63
# File 'build/mongoid-8.1/lib/mongoid/equality.rb', linha 61

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