모듈: Mongoid::Traversable::DiscriratorAssignment Private

다음에 정의됨:
lib/mongoid/traversable.rb

개요

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

다양한 판별자_*= 메서드 앞에 추가하는 데 사용되는 모듈입니다.

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#판별자_키=(값) ⇒ 객체

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

판별자 키를 설정합니다.

Rubocop:Metrics/AbcSize 비활성화

매개변수:

  • value (string)

    설정하다.

다음을 발생시킵니다.



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# 파일 'lib/mongoid/traversable.rb', 줄 95

def 판별자_키=(value)
  올리다 오류::InvalidDiscriratorKeyTarget.신규(self, 슈퍼클래스) 만약 유전?

  _mongoid_clear_types

  만약 value
    몽고이드::필드::유효성 검사기::매크로.validate_field_name(self, value)
    value = value.to_s
    super
  other
    # 판별자 키가 nil로 설정하다 되어 있으면 클래스의 정의를 대체합니다.
    판별자 키 판독기의 #(이전에 class_attribute에서 제공)
    # Mongoid에 다시 위임합니다.
    클래스 << self
      위임 :discrirator_key, 다음 대상: ::몽고이드
    end
  end

  # 이 조건은 새 판별자 키가
  # 기존 필드.
  # 이 조건은 클래스에 하위 항목이 있는지도 확인합니다.
  # 그렇지 않으면 판별자 키가 필요하지 않습니다.
  반환 하지 않는 한 !필드.키?(판별자_키) && !descendants.비어 있나요?

  default_proc = -> { self.클래스.판별자_값 }
  필드(판별자_키, 기본값: default_proc, 유형: 문자열)
end

#판별자_값=(값) ⇒ string

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

판별자 키를 반환합니다.

반환합니다:

  • (string)

    판별자 키입니다.



129
130
131
132
133
134
# 파일 'lib/mongoid/traversable.rb', 줄 129

def 판별자_값=(value)
  value ||= 이름
  _mongoid_clear_types
  add_discrirator_mapping(value)
  @discrirator_value = value
end