클래스: Mongoid::AtomicUpdatePreparer Private

상속:
객체
  • 객체
모두 표시
다음에 정의됨:
lib/mongoid/atomic_update_preparer.rb

개요

이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

원자성 업데이트를 위한 속성 준비를 지원하는 싱글톤 클래스입니다.

더 이상 사용되지 않는 Hash#__consolidate__ 메서드가 완전히 제거되면 이러한 메서드는 비공개 메서드로 Mongoid::Contextual::Mongo로 이동될 수 있습니다.

클래스 메서드 요약 접기

클래스 메서드 세부 정보

.prepare(attributes, klass) ⇒ 해시

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

속성의 키/값을 원자성 업데이트의 해시로 변환합니다. 연산자가 아닌 키는 $ 설정하다 작업을 사용하는 것으로 가정합니다.

매개변수:

  • class (클래스)

    모델 클래스입니다.

  • 속성 (해시)

    변환할 속성입니다.

반환합니다:

  • (해시)

    준비된 원자 업데이트.



21
22
23
24
25
26
27
28
29
30
31
# 파일 'lib/mongoid/atomic_update_preparer.rb', 줄 21

def 준비하다(속성, class)
  속성.각각의 쌍.with_object({}) do |(, value), atomic_updates|
     = class.database_field_name(.to_s)

    만약 .to_s.start_with?('$')
      (atomic_updates[] ||= {}).update(prepare_operation(class, , value))
    other
      (atomic_updates['$set'] ||= {})[] = mongoize_for(, class, , value)
    end
  end
end