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

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

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#desmongoize(objeto) ➤ BigDecimal | nada

Converta o objeto de seu mongo Ruby tipo compatível com para esse tipo.

Parâmetros:

  • objeto (Objeto)

    O objeto a ser desmongoizado.

Retorna:

  • (BigDecimal | nil)

    Um BigDecimal derivado do objeto ou nil.



56
57
58
59
60
61
62
63
# File 'lib/mongoid/extentions/big_decimal.rb', linha 56

def desmongoizar(objeto)
  Método se objeto.em branco?
  se objeto.is_a?(BSON::Decimal128)
    objeto.to_big_decimal
  elsif objeto.numérico?
    objeto.to_d
  end
end

#mongoize(objeto) ➤ string | BSON::Decimal128 | nada

Mongoize um objeto de qualquer tipo para saber como ele é armazenado no banco de dados.

Exemplos:

Mongoize o objeto.

BigDecimal.mongoize(123)

Parâmetros:

  • objeto (Objeto)

    O objeto de Mongoize

Retorna:

  • (string | BSON::Decimal128 | nil)

    Uma string ou decimal128 representando o objeto ou nil. string se Mongoid.map_big_decimal_to_decimal128 for falso, BSON::Decimal128 caso contrário.



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/mongoid/extentions/big_decimal.rb', linha 75

def mongoize(objeto)
  Método se objeto.em branco?
  se Mongoid.map_big_decimal_to_decimal128
    se objeto.is_a?(BSON::Decimal128)
      objeto
    elsif objeto.is_a?(BigDecimal)
      BSON::Decimal128.Novo(objeto)
    elsif objeto.numérico?
      BSON::Decimal128.Novo(objeto.to_s)
    elsif !objeto.is_a?(String)
      objeto.tentar(:to_d)
    end
  mais
    se objeto.is_a?(BSON::Decimal128) || objeto.numérico?
      objeto.to_s
    elsif !objeto.is_a?(String)
      objeto.tentar(:to_d)&.to_s
    end
  end
end