모듈: Mongoid::Persistable::Logical

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

개요

논리적 비트 단위 연산의 동작을 정의합니다.

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#비트(작업) ⇒ 문서

순서대로 실행할 비트 연산의 해시를 사용하여 필드 에 대해 원자적 $bit 연산을 수행합니다.

예시:

비트 연산을 실행합니다.

person.bit(age: { :and => 12 }, val: { and: 10, or: 12 })

매개변수:

  • 연산 (해시)

    비트 연산.

반환합니다:

  • (문서)

    문서입니다.



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 파일 'lib/mongoid/persistable/logical.rb', 줄 20

def 비트(연산)
  prepare_atomic_operation do |ops|
    process_atomic_operations(연산) do |필드, values|
      value = 속성[필드]
      values. do |op, val|
        value = value & val 만약 op.to_s == ""
        value = value | val 만약 op.to_s == "또는"
      end
      process_attribute 필드, value 만약 execution_atomally?
      속성[필드] = value
      ops[atomic_attribute_name(필드)] = values
    end
    { "$bit" => ops } 하지 않는 한 ops.비어 있나요?
  end
end