클래스: Mongoid::Association::Proxy

상속:
객체
  • 객체
모두 표시
확장자:
전달 가능
다음을 포함합니다.
마셜 가능, Threaded::Lifecycle
다음에 정의됨:
lib/mongoid/association/proxy.rb

개요

이 클래스는 모든 연관 프록시 객체에 대한 슈퍼클래스이며, 모든 객체에 대한 공통된 동작을 포함합니다.

직접 알려진 하위 클래스

다수, 하나

상수 요약 접기

KEEPER_METHODS =

정의되지 않은 것을 방지하는 특정 메서드

%i[
  send
  object_id
  같음?
  response_to?
  response_to_missing?
  
  public_send
  확장 프록시
  확장 프록시
].동결

인스턴스 속성 요약 접기

클래스 메서드 요약 접기

인스턴스 메서드 요약 접기

마셜러블에 포함된 메서드

#marshal_dump, #marshal_load

생성자 세부 정보

#initialize(base, target,association) {|_self| ... } ⇒ 프록시

대상 및 연결 메타데이터 속성을 설정합니다.

매개변수:

수율:

  • (_self)

수율 매개변수:



60
61
62
63
64
# 파일 'lib/mongoid/association/proxy.rb', 줄 60

def 초기화(base, 대상, 연관 관계)
  @_base, @_target, @_association = base, 대상, 연관 관계
  yield(self) 만약 block_given?
  확장 프록시(연관 관계.확장 프로그램) 만약 연관 관계.확장 프로그램
end

인스턴스 속성 세부 정보

#_association객체

속성 _association의 값을 반환합니다.



41
42
43
# 파일 'lib/mongoid/association/proxy.rb', 줄 41

def _association
  @_association
end

#_base객체

연관 관계의 기반에 대한 모델 인스턴스입니다.

예를 예시 게시물이 많은 댓글을 포함하는 경우 _base는 게시물 모델의 특정 인스턴스 입니다.



39
40
41
# 파일 'lib/mongoid/association/proxy.rb', 줄 39

def _base
  @_base
end

#_target객체

연관 대상에 대한 일대일 연관 관계의 모델 인스턴스 또는 일대다 연관 관계의 모델 인스턴스 배열 입니다.

예를 예시 게시물이 많은 댓글을 포함하는 경우 _target은 특정 게시물에 포함된 댓글 모델의 배열 입니다.



48
49
50
# 파일 'lib/mongoid/association/proxy.rb', 줄 48

def _target
  @_target
end

클래스 메서드 세부 정보

.apply_ordering(기준, 연관 관계) ⇒ Criteria

연관 관계에 정의된 기준에 순서를 적용합니다.

예시:

순서를 적용합니다.

Proxy.apply_ordering(criteria, association)

매개변수:

반환합니다:

  • (기준)

    정렬된 기준입니다.



206
207
208
# 파일 'lib/mongoid/association/proxy.rb', 줄 206

def apply_ordering(기준, 연관 관계)
  연관 관계.주문 ? 기준.order_by(연관 관계.주문) : 기준
end

인스턴스 메서드 세부 정보

# 확장프록시(*extension) ⇒ 객체

확장을 배열 로 허용하고 각 모듈을 확장합니다.



67
68
69
# 파일 'lib/mongoid/association/proxy.rb', 줄 67

def 확장 프록시(*확장 프로그램)
  확장 프로그램.flatten. { |ext| 확장 프록시(ext) }
end

#klass클래스

연관 관계에서 클래스를 가져오거나, 연관 관계가 없으면 nil을 반환합니다.

예시:

클래스를 가져옵니다.

proxy.klass

반환합니다:

  • (클래스)

    연관 관계 클래스.



77
78
79
# 파일 'lib/mongoid/association/proxy.rb', 줄 77

def class
  _association&.class
end

#reset_unloaded객체

연결 프록시 내부의 기준을 재설정합니다. 다대다 연관 관계에서 기본 ID 배열 을 동기화 된 상태로 유지하는 데 사용됩니다.

예시:

연결 기준을 재설정합니다.

person.preferences.reset_relation_criteria


86
87
88
# 파일 'lib/mongoid/association/proxy.rb', 줄 86

def reset_unloaded
  _target.reset_unloaded(기준)
end

#대체 가능 ⇒ 객체

연결 프록시의 기본값 대체 가능 객체 는 대상의 복제본입니다.

예시:

대체 가능 항목을 가져옵니다.

proxy.substitutable

반환합니다:

  • (객체)

    대상의 클론입니다.



97
98
99
# 파일 'lib/mongoid/association/proxy.rb', 줄 97

def 대체 가능
  _target
end