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

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

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#evolua(objeto) ➤ Objeto

Evolui o grande decimal para um valor compatível com o MongoDB .

Exemplos:

Evolua o grande decimal

BigDecimal.evolve(decimal)

Parâmetros:

  • objeto (BIGDecimal)

    O objeto a ser convertido.

Retorna:

  • (Objeto)

    O decimal grande como uma string, um decimal128 ou o objeto inserido se não for atribuível.



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/mongoid/criteria/queryable/extentions/big_decimal.rb', linha 24

def evolua(objeto)
  __evolve__(objeto) fazer |obj|
    Método se obj.nada?
    caso obj
    quando ::BigDecimal
      se Mongoid.map_big_decimal_to_decimal128
        BSON::Decimal128.Novo(obj)
      mais
        obj.to_s
      end
    quando BSON::Decimal128 então obj
    mais
      se obj.numérico?
        se Mongoid.map_big_decimal_to_decimal128
          BSON::Decimal128.Novo(objeto.to_s)
        mais
          obj.to_s
        end
      mais
        obj
      end
    end
  end
end