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

Definido en:
lib/mongoid/extensions/big_decimal.rb

Resumen del método de instancia colapsar

Detalles del método de instancia

#demongoize(objeto) ⇒ BigDecimal | nulo

Convierte el objeto de su tipo ruby ​​compatible con mongo a este tipo.

Parámetros:

  • Objeto (Objeto) -

    El objeto a desmongocionar.

Devuelve:

  • (BigDecimal | nil)

    Un BigDecimal derivado del objeto o nil.



56
57
58
59
60
61
62
63
# Archivo 'lib/mongoid/extensions/big_decimal.rb', línea 56

def desmongoizar(Objeto)
  return si Objeto.blank?
  si Objeto.is_a?(BSON::Decimal128)
    Objeto.demasiado grande
  elsif Objeto.numeric?
    Objeto.to_d
  end
end

#mongoize(objeto) ⇒ String | BSON::Decimal128 | nil

Mongoizar un objeto de cualquier tipo para almacenarlo en la base de datos.

Ejemplos:

Mongoize el objeto.

BigDecimal.mongoize(123)

Parámetros:

  • Objeto (Objeto) -

    El objeto para Mongoize

Devuelve:

  • (String | BSON::Decimal128 | nil)

    Un string o Decimal128 que representa el objeto o nil. String si Mongoid.map_big_decimal_to_decimal128 es falso, BSON::Decimal128 si no.



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# Archivo 'lib/mongoid/extensions/big_decimal.rb', línea 75

def mangostas(Objeto)
  return si Objeto.blank?
  si Mongoid.map_big_decimal_to_decimal128
    si Objeto.is_a?(BSON::Decimal128)
      Objeto
    elsif Objeto.is_a?(Gran decimal)
      BSON::Decimal128.Nuevo(Objeto)
    elsif Objeto.numeric?
      BSON::Decimal128.Nuevo(Objeto.to_s)
    elsif !Objeto.is_a?(String)
      Objeto.intentar(:hasta_d)
    end
  else
    si Objeto.is_a?(BSON::Decimal128) || Objeto.numeric?
      Objeto.to_s
    elsif !Objeto.is_a?(String)
      Objeto.intentar(:hasta_d)&.to_s
    end
  end
end