모듈: Mongoid::Persistable::Multipliable

확장자:
ActiveSupport::Concern
포함 항목:
Mongoid::Persistable
다음에 정의됨:
lib/mongoid/persistable/multipliable.rb

개요

$mul 작업에 대한 동작을 정의합니다.

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#mul(인자) ⇒ 문서

제공된 필드에 해당 값을 곱합니다. 값은 양수 또는 음수일 수 있으며, 필드 에 값이 없으면 0으로 설정하다 됩니다.

예시:

필드를 곱합니다.

document.mul(score: 10, place: 1, lives: -10)

매개변수:

  • 요인 (해시)

    필드/factor 승수 쌍입니다.

반환합니다:

  • (문서)

    문서입니다.



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