Módulo: Mongoid::Criterios::Consultables::Extensiones::Numeric::ClassMethods

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

Colapso del resumen del método de instancia

Detalles del método de instancia

#__numeric__(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:

Obtener el objeto como numérico.

Object.__numeric__("1.442")

Parámetros:

  • Objeto (Objeto) -

    El objeto a convertir.

Devuelve:

  • (Objeto) -

    El número convertido.

Aumentos:

  • (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.a_s
  propagar ArgumentError Si str.¿vacío?

  # Estos requisitos parecen un poco extraños, pero están especificados explícitamente 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

#evolucionar(objeto) ⇒ Entero

Evoluciona el objeto a un entero.

Ejemplos:

Evolucionar a números enteros.

Integer.evolve("1")

Parámetros:

  • Objeto (Objeto) -

    El objeto a evolucionar.

Devuelve:

  • (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