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

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

개요

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

상수 요약 접기

VALID_OPTIONS =

이 연관 관계를 정의할 때 유효한 옵션입니다.

반환합니다:

  • (Array<Symbol>)

    이 연결을 정의할 때 허용되는 옵션입니다.

%i[
  자동 빌드
  방식
  cascade_callbacks
  주기적
  store_as
].동결

프록시에서 상속된 상수

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) ⇒ Proxy

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

예시:

새 프록시를 만듭니다.

One.new(person, name, association)

매개변수:



33
34
35
36
37
38
39
40
41
42
# 파일 'lib/mongoid/association/embedded/embeds_one/proxy.rb', 줄 33

def 초기화(base, 대상, 연관 관계)
  super do
    Characterize_one(_target)
    bind_one
    Characterize_one(_target)
    update_attributes_hash(_target)
    _base._reset_memoized_descendants!
    _target.저장 만약 지속 가능?
  end
end

클래스 메서드 세부 정보

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

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

매개변수:

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

    빠르게 로드할 연관 관계

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

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

반환합니다:



190
191
192
# 파일 'lib/mongoid/association/embedded/embeds_one/proxy.rb', 줄 190

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

.임베디드?true

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

예시:

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

Association::Embedded::EmbedsOne.embedded?

반환합니다:

  • (true)

    true.



201
202
203
# 파일 'lib/mongoid/association/embedded/embeds_one/proxy.rb', 줄 201

def 임베디드?
  true
end

.경로(문서) ⇒ Mongoid::Atomic::Paths::Embedded::One

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

예시:

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

Proxy.path(document)

매개변수:

  • 문서 (문서)

    계산할 문서입니다.

반환합니다:



214
215
216
# 파일 'lib/mongoid/association/embedded/embeds_one/proxy.rb', 줄 214

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

인스턴스 메서드 세부 정보

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

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

예시:

새 문서 로 대체합니다.

person.name.substitute(new_name)

매개변수:

  • 교체 (문서 | 해시)

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

반환합니다:

  • (Document | nil)

    연관 관계 또는 nil입니다.



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# 파일 'lib/mongoid/association/embedded/embeds_one/proxy.rb', 줄 53

def 대체(교체)
  반환 self 만약 교체 == self

  만약 _assigning?
    _base.add_atomic_unset(_target) 하지 않는 한 교체
  other
    update_target_when_not_assigning(교체)
  end

  unbind_one

  반환 nil 만약 replace_with_nil_document(교체)

  replace_with(교체)

  self
end