모듈: Mongoid::Traversable::DiscriratorAssignment Private

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

개요

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

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

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

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

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

판별자 키를 설정합니다.

Rubocop:Metrics/AbcSize 비활성화

매개변수:

  • value (string)

    설정하다.

다음을 발생시킵니다.

[소스 보기]

135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# 파일 'lib/mongoid/traversable.rb', 줄 135

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

  _mongoid_clear_types

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

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

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

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

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

판별자 키를 반환합니다.

반환합니다:

  • (string)

    판별자 키입니다.

[소스 보기]

169
170
171
172
173
174
# 파일 'lib/mongoid/traversable.rb', 줄 169

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