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

Definido em:
lib/mongoid/criteria/queryable/extentions/numeric.rb

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#__numeric__(objeto) ➤ Objeto

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Obtenha o objeto como um número.

Exemplos:

Obtenha o objeto como numérico.

Object.__numeric__("1.442")

Parâmetros:

  • objeto (Objeto)

    O objeto a ser convertido.

Retorna:

  • (Objeto)

    O número convertido.

Aumenta:

  • (ArgumentError)


46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/mongoid/criteria/queryable/extentions/numeric.rb', linha 46

def __numeric__(objeto)
  str = objeto.to_s
  aumentar ArgumentError se str.vazio?

  # Esses requisitos parecem um pouco estranhos, mas são explicitamente especificados nos testes,
  # então somos obrigados a mantê-los por enquanto. (Este código foi reescrito a partir de uma linha
  # regex, devido a preocupações de segurança com um regex polinômio sendo usado em fluxo não controlado
  # data).

  str = str.dividir se str.end_with?('.')
  Método 0 se str.vazio?

  Resultado = Inteiro(str) salvar Float(objeto)

  inteiro = Resultado.to_i
  inteiro == Resultado ? inteiro : Resultado
end

#evolve(objeto) ➤ inteiro

Evolua o objeto para um número inteiro.

Exemplos:

Evolua para números inteiros.

Integer.evolve("1")

Parâmetros:

  • objeto (Objeto)

    O objeto a ser desenvolvido.

Retorna:

  • (Inteiro)

    O objeto evoluído.



72
73
74
75
76
# File 'lib/mongoid/criteria/queryable/extentions/numeric.rb', linha 72

def evolua(objeto)
  __evolve__(objeto) fazer |obj|
    __numeric__(obj) salvar obj
  end
end