클래스: Mongoid::Factory::Instantiator Private

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

개요

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

모델의 유형 클래스를 직접 사용하거나 판별자 키를 통해 지정된 유형 클래스를 통해 모델을 인스턴스화하기 위한 헬퍼 클래스입니다.

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(klass, attributes, criteria, 선정된_필드) ⇒ 인스턴스화기

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

새 Factory::Initiator를 만듭니다.

매개변수:

  • class (Mongoid::Document)

    모델을 인스턴스화할 때 참조할 프라이머리 클래스입니다.

  • 속성 (Hash | nil)

    (선택 사항) 모델을 인스턴스화할 때 사용할 속성의 해시입니다.

  • 기준 (Mongoid::Criteria | nil)

    (선택 사항) 선택한 필드의 세컨더리 소스로 사용할 기준 객체 입니다. 역 연관 관계를 설정할 때에도 사용됩니다.

  • selected_fields (Array | nil)

    새 기록 에 명시적으로(그리고 독점적으로) 포함되어야 하는 필드 이름의 목록입니다.



46
47
48
49
50
51
52
53
# 파일 'lib/mongoid/factory.rb', 46줄

def 초기화(class, 속성, 기준, selected_fields)
  @klass = class
  @attributes = 속성
  @criteria = 기준
  @selected_fields = selected_fields ||
                     (기준 && 기준.옵션[:fields])
  @type = 속성 && 속성[class.판별자_키]
end

인스턴스 속성 세부 정보

속성 #개 ⇒ 해시 | nil (읽기 전용)

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

모델을 인스턴스화할 때 사용할 속성의 해시를 반환합니다.

반환합니다:

  • (Hash | nil)

    모델을 인스턴스화할 때 사용할 속성의 해시입니다.



19
20
21
# 파일 'lib/mongoid/factory.rb', 19줄

def 속성
  @attributes
end

#기준Mongoid::Criteria | nil (읽기 전용)

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

선택한 필드의 세컨더리 소스로 사용할 기준 객체 를 반환합니다. 역 연관 관계를 설정할 때도 사용됩니다.

반환합니다:

  • (Mongoid::Criteria | nil)

    선택한 필드의 세컨더리 소스로 사용할 기준 객체 입니다. 역 연관 관계를 설정할 때에도 사용됩니다.



24
25
26
# 파일 'lib/mongoid/factory.rb', 24줄

def 기준
  @criteria
end

#klassMongoid::Document (읽기 전용)

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

참조 중인 프라이머리 모델 클래스를 반환합니다.

반환합니다:



15
16
17
# 파일 'lib/mongoid/factory.rb', 15줄

def class
  @klass
end

#selected_fields배열 | nil (읽기 전용)

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

새 기록 에 명시적으로(그리고 독점적으로) 포함되어야 하는 필드 이름의 목록을 반환합니다.

반환합니다:

  • (Array | nil)

    새 기록 에 명시적으로(그리고 독점적으로) 포함되어야 하는 필드 이름의 목록입니다.



28
29
30
# 파일 'lib/mongoid/factory.rb', 28줄

def selected_fields
  @selected_fields
end

#유형string | nil (읽기 전용)

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

다형성 클래스 사양의 경우 로드하고 인스턴스화해야 하는 클래스의 식별자를 반환합니다.

반환합니다:

  • (string | nil)

    다형성 클래스 사양의 경우 로드하고 인스턴스화해야 하는 클래스의 식별자입니다.



33
34
35
# 파일 'lib/mongoid/factory.rb', 33줄

def 유형
  @type
end

인스턴스 메서드 세부 정보

인스턴스 #인스턴스(execute_callbacks: Threaded.execute_callbacks?) ⇒ Mongoid::Document

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

요청된 클래스의 새 인스턴스 를 빌드하고 반환합니다.

매개변수:

  • execution_callbacks (true | false) (기본값: Threaded.execute_callbacks?)

    문서 콜백을 새 인스턴스 와 함께 호출해야 하는지 여부입니다.

반환합니다:

다음을 발생시킵니다.

  • (Errors::UnknownModel)

    요청된 유형이 존재하지 않거나 'instantiate' 메서드에 응답하지 않는 경우.



64
65
66
67
68
69
70
# 파일 'lib/mongoid/factory.rb', 64줄

def 인스턴스(execution_callbacks: 스레드.실행 콜백?)
  만약 유형.비어 있나요?
    stantiate_without_type(execution_callbacks)
  other
    stantiate_with_type(execution_callbacks)
  end
end