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

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

Colapso del resumen del método de instancia

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 demonizar.

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 demonizar(Objeto)
  return Si Objeto.blank?
  Si Objeto.is_a?(BSON::Decimal128)
    Objeto.demasiado grande
  elsif Objeto.numeric?
    Objeto.to_d
  end
end

#mongoize(objeto) ⇒ Cadena | BSON::Decimal128 | nulo

Mongoizar un objeto de cualquier tipo según cómo está almacenado en la base de datos.

Ejemplos:

Mongoize el objeto.

BigDecimal.mongoize(123)

Parámetros:

  • Objeto (Objeto) -

    El objeto de Mongoizar

Devuelve:

  • ( Cadena | BSON::Decimal128 | nulo)

    Una cadena o un valor decimal128 que representa el objeto o nulo. Cadena si Mongoid.map_big_decimal_to_decimal128 es falso, BSON::Decimal128 en caso contrario.



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.a_s)
    elsif !Objeto.is_a?(String)
      Objeto.intentar(:hasta_d)
    end
  else
    Si Objeto.is_a?(BSON::Decimal128) || Objeto.numeric?
      Objeto.a_s
    elsif !Objeto.is_a?(String)
      Objeto.intentar(:hasta_d)&.a_s
    end
  end
end