클래스: Mongoid::Association::Embedded::EmbeddedIn::Proxy

상속:
one
  • 객체
모두 표시
다음에 정의됨:
lib/mongoid/association/embedded/embedded_in/proxy.rb

개요

embedded_in 연관 관계를 위한 투명한 프록시. 이 클래스의 인스턴스 는 하위 문서 에서 연결 게터 메서드를 호출할 때 반환됩니다. 이 클래스는 Mongoid::Association::Proxy 를 상속하고 대부분의 메서드를 연관 관계의 대상, 즉 상위 문서 에 전달합니다.

상수 요약

프록시에서 상속된 상수

Proxy::KEEPER_METHODS

인스턴스 속성 요약

프록시에서 상속된 속성

#_association, #_base, #_target

클래스 메서드 요약 접기

인스턴스 메서드 요약 접기

One에서 상속된 메서드

#__evolve_object_id__, #clear, #in_memory, #respond_to?

프록시에서 상속된 메서드

apply_ordering, #extend_proxys, #klass, #reset_unloaded, #substutable

마셜러블에 포함된 메서드

#marshal_dump, #marshal_load

생성자 세부 정보

#initialize(base, target,association) ⇒ In

새 embedded_in 연관 관계를 인스턴스화합니다.

예시:

새 연결을 만듭니다.

Association::Embedded::EmbeddedIn.new(person, address, association)

매개변수:

[소스 보기]

24
25
26
27
28
29
# 파일 'lib/mongoid/association/embedded/embedded_in/proxy.rb', 줄 24

def 초기화(base, 대상, 연관 관계)
  super do
    Characterize_one(_target)
    bind_one
  end
end

클래스 메서드 세부 정보

.Eager_loader(associations, Docs) ⇒ Mongoid::Association::Embedded::Eager

이 연관 관계에 대한 선행 로더를 반환합니다.

매개변수:

  • 연관 관계 (Array<Mongoid::Association>)

    빠르게 로드할 연관 관계

  • 참고자료 (Array<Mongoid::Document>)

    지정된 연관 관계를 소유한 상위 문서로, 이 연관 관계는 빠르게 로드된 문서로 채워져야 합니다.

반환합니다:

[소스 보기]

95
96
97
# 파일 'lib/mongoid/association/embedded/embedded_in/proxy.rb', 줄 95

def Eager_loader(연관 관계, 참고자료)
  열망.신규(연관 관계, 참고자료)
end

.임베디드?true

연관 관계가 포함된 연관 관계라면 true를 반환합니다. 이 경우에는 항상 true입니다.

예시:

이 연결이 포함되어 있나요?

Association::Embedded::EmbeddedIn.embedded?

반환합니다:

  • (true)

    true.

[소스 보기]

106
107
108
# 파일 'lib/mongoid/association/embedded/embedded_in/proxy.rb', 줄 106

def 임베디드?
  true
end

.경로(문서) ⇒ 루트

제공된 문서 의 경로 계산기를 가져옵니다.

예시:

경로 계산기를 가져옵니다.

Proxy.path(document)

매개변수:

  • 문서 (문서)

    계산할 문서입니다.

반환합니다:

  • (Root)

    루트 원자 경로 계산기.

[소스 보기]

118
119
120
# 파일 'lib/mongoid/association/embedded/embedded_in/proxy.rb', 줄 118

def 경로(문서)
  몽고이드::원자::경로::루트.신규(문서)
end

인스턴스 메서드 세부 정보

#대체(교체) ⇒ 문서 | nil

연관 관계의 기존 문서 를 제공된 대상 문서로 대체합니다.

예시:

새 문서 로 대체합니다.

person.name.substitute(new_name)

매개변수:

  • 교체 (문서 | 해시)

    대상을 대체할 문서 입니다.

반환합니다:

  • (Document | nil)

    연관 관계 또는 nil입니다.

[소스 보기]

40
41
42
43
44
45
46
47
48
49
50
51
# 파일 'lib/mongoid/association/embedded/embedded_in/proxy.rb', 줄 40

def 대체(교체)
  unbind_one
  하지 않는 한 교체
    _base.삭제 만약 지속 가능?
    반환 nil
  end
  _base.new_record = true
  교체 = 공장.빌드(class, 교체) 만약 교체.is_a?(::해시)
  self._target = 교체
  bind_one
  self
end