모듈: Mongoid::Extensions::BigDecimal::ClassMethods

다음에 정의됨:
lib/mongoid/extensions/big_decimal.rb

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#demongoize(객체) ⇒ BigDecimal | nil

객체를 mongo 친화적인 Ruby 유형에서 이 유형으로 변환합니다.

매개변수:

  • 객체 (객체)

    악마화할 객체입니다.

반환합니다:

  • (BigDecimal | nil)

    객체 또는 nil에서 파생된 BigDecimal입니다.



56
57
58
59
60
61
62
63
# 파일 'lib/mongoid/extensions/big_decimal.rb', 줄 56

def demongoize(객체)
  반환 만약 객체.비어 있나요?
  만약 객체.is_a?(BSON::Decimal128)
    객체.to_big_decimal
  elsif 객체.숫자?
    객체.to_d
  end
end

#mongoize(객체) ⇒ string | BSON::Decimal128 | nil

모든 유형의 객체를 db에 저장되는 방식으로 몽고화합니다.

예시:

객체를 몽고화합니다.

BigDecimal.mongoize(123)

매개변수:

  • 객체 (객체)

    Mongoize할 객체

반환합니다:

  • (string | BSON::Decimal128 | nil)

    객체 또는 nil을 나타내는 string 또는 Decimal128 입니다. string Mongoid.map_big_decimal_to_decimal128 이 거짓이면 BSON::Decimal128 입니다.



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

def mongoize(객체)
  반환 만약 객체.비어 있나요?
  만약 몽고이드.map_big_decimal_to_decimal128
    만약 객체.is_a?(BSON::Decimal128)
      객체
    elsif 객체.is_a?(BigDecimal)
      BSON::Decimal128.신규(객체)
    elsif 객체.숫자?
      BSON::Decimal128.신규(객체.to_s)
    elsif !객체.is_a?(문자열)
      객체.try(:to_d)
    end
  other
    만약 객체.is_a?(BSON::Decimal128) || 객체.숫자?
      객체.to_s
    elsif !객체.is_a?(문자열)
      객체.try(:to_d)&.to_s
    end
  end
end