Módulo: Mongoid::Criteria::Queryable::Extensions::Numeric::ClassMethods

Definido en:
lib/mongoid/criterios/consultables/extensiones/numeric.rb

Resumen del método de instancia colapsar

Detalles del método de instancia

#__numérico__(objeto) ⇒ Objeto

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Obtener el objeto como un valor numérico.

Ejemplos:

Obtenga el objeto como numérico.

Object.__numeric__("1.442")

Parámetros:

  • Objeto (Objeto) -

    El objeto a convertir.

Devuelve:

  • (Objeto) -

    El número convertido.

Aumenta:

  • (ArgumentError)


46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Archivo 'lib/mongoid/criteria/queryable/extensions/numeric.rb', línea 46

def __numeric__(Objeto)
  str = Objeto.to_s
  propagar ArgumentError si str.¿vacío?

  # Estos requisitos parecen un poco extraños, pero están explícitamente establecidos en las pruebas.
  # así que estamos obligados a mantenerlos, por ahora. (Este código fue reescrito a partir de una línea
  # regex, debido a problemas de seguridad con el uso de una expresión regular polinomial en un sistema no controlado
  # data).

  str = str.picar si str.¿Fin_con?('.')
  return 0 si str.¿vacío?

  Resultado = entero(str) rescate Float(Objeto)

  entero = Resultado.to_i
  entero == Resultado ? entero : Resultado
end

#evolve(objeto) ⇒ Integer

Convertir el objeto a un número entero.

Ejemplos:

Evoluciona a enteros.

Integer.evolve("1")

Parámetros:

  • Objeto (Objeto) -

    El objeto a evolucionar.

Devuelve:

  • (Número entero)

    El objeto evolucionado.



72
73
74
75
76
# Archivo 'lib/mongoid/criteria/queryable/extensions/numeric.rb', línea 72

def evolucionar(Objeto)
  __evolve__(Objeto) hacer |obj|
    __numeric__(obj) rescate obj
  end
end