Módulo: Mongoid::Equality

Ampliado por:
ActiveSupport::Preocupación
Incluido en:
Componible
Definido en:
lib/mongoid/igualdad.rb

Overview

Este módulo contiene el comportamiento del clon/duplicado de documentos de Mongoid.

Definido en el espacio de nombres

Modules: Métodos de clase

Colapso del resumen del método de instancia

Detalles del método de instancia

#<=>(otro) ⇒ Entero

La comparación predeterminada se realiza a través de la versión de cadena del id.

Ejemplos:

Comparar dos documentos.

person <=> other_person

Parámetros:

  • otros (Documento) -

    El documento con el que comparar.

Devuelve:

  • (Entero)

    -1, 0, 1.



20
21
22
23
# Archivo 'lib/mongoid/equality.rb', línea 20

def <=>(otros)
  return Super a no ser que otros.is_a?(Mongoid::Igualdad)
  atributos["_identificación"].a_s <=> otros.atributos["_identificación"].a_s
end

#==(otro) ⇒ verdadero | falso

Realiza una comprobación de igualdad de los identificadores de los documentos. Para una comprobación de igualdad más robusta, sobrescriba este método.

Ejemplos:

Comparar para determinar la igualdad.

document == other

Parámetros:

  • otros (Documento | Objeto)

    El otro objeto con el que comparar.

Devuelve:

  • (verdadero | falso)

    Verdadero si los ids son iguales, falso si no lo son.



34
35
36
37
# Archivo 'lib/mongoid/equality.rb', línea 34

def ==(otros)
  yo.clase == otros.clase &&
      atributos["_identificación"] == otros.atributos["_identificación"]
end

#eql?(otro) ⇒ verdadero | falso

Delega en ==. Se utiliza cuando se necesitan comprobaciones en hashes.

Ejemplos:

Realizar comprobación de igualdad.

document.eql?(other)

Parámetros:

  • otros (Documento | Objeto)

    El objeto a comprobar.

Devuelve:

  • (verdadero | falso)

    Verdadero si son iguales, falso si no.



47
48
49
# Archivo 'lib/mongoid/equality.rb', línea 47

def eql?(otros)
  yo == (otros)
end