모듈: Mongoid::Persistable::Multipliable
- 확장자:
- ActiveSupport::Concern
- 포함 항목:
- Mongoid::Persistable
- 다음에 정의됨:
- lib/mongoid/persistable/multipliable.rb
개요
$mul 작업에 대한 동작을 정의합니다.
인스턴스 메서드 요약 접기
-
#mul(인자) ⇒ 문서
제공된 필드에 해당 값을 곱합니다.
인스턴스 메서드 세부 정보
#mul(인자) ⇒ 문서
제공된 필드에 해당 값을 곱합니다. 값은 양수 또는 음수일 수 있으며, 필드 에 값이 없으면 0으로 설정하다 됩니다.
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# 파일 'lib/mongoid/persistable/multipliable.rb', 줄 21 def mul(요인) prepare_atomic_operation do |ops| process_atomic_operations(요인) do |필드, value| 요인 = value.is_a?(BigDecimal) ? value.to_f : value Current = 속성[필드] new_value = (Current || 0) * 요인 process_attribute 필드, new_value 만약 execution_atomally? 속성[필드] = new_value ops[atomic_attribute_name(필드)] = 요인 end { "$mul" => ops } 하지 않는 한 ops.비어 있나요? end end |