모듈: Mongoid::Traversable::ClassMethods
- 다음에 정의됨:
- lib/mongoid/traversable.rb
개요
순회 가능 동작에 대한 클래스 수준 메서드입니다.
인스턴스 메서드 요약 접기
-
#유전성? ⇒ true | false
문서 가 다른 문서 의 하위 클래스인지 확인합니다.
-
#상속됨(하위 클래스) ⇒ 객체
상속할 때 부모 클래스에서 필드를 복사하고 자식 클래스를 시작하도록 설정하다 하여 Rails edge에서 더 이상 사용되지 않는 이전 class_inheritable_accessor의 동작을 모방합니다.
인스턴스 메서드 세부 정보
#유전성? ⇒ true | false
문서 가 다른 문서 의 하위 클래스인지 확인합니다.
19 20 21 |
# 파일 'lib/mongoid/traversable.rb', 줄 19 def 유전? !!(슈퍼클래스 < 몽고이드::문서) end |
#상속됨(하위 클래스) ⇒ 객체
상속할 때 부모 클래스에서 필드를 복사하고 자식 클래스를 시작하도록 설정하다 하여 Rails edge에서 더 이상 사용되지 않는 이전 class_inheritable_accessor의 동작을 모방합니다.
Rubocop:Metrics/AbcSize 비활성화
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# 파일 'lib/mongoid/traversable.rb', 줄 33 def 상속된(하위 클래스) super @_type = nil 하위 클래스.aliased_fields = aliased_fields.dup 하위 클래스.localized_fields = localized_fields.dup 하위 클래스.필드 = 필드.dup 하위 클래스.pre_processed_defaults = pre_processed_defaults.dup 하위 클래스.post_processed_defaults = post_processed_defaults.dup 하위 클래스._declared_scopes = 해시.신규 { |_hash, 키| _declared_scopes[키] } 하위 클래스.판별자_값 = 하위 클래스.이름 # 여기에서 이 작업을 수행해야 합니다. # 위의 하위 클래스에서 재정의되었습니다. 하위 클래스.포함 판별자 조회 # 상속이 진행 중인 경우에만 _type 필드 가 필요하지만 다음을 수행해야 합니다. # 이전 버전과의 호환성을 위해 루트 클래스에도 추가합니다. 반환 만약 필드.키?(판별자_키) default_proc = -> { self.클래스.판별자_값 } 필드(판별자_키, 기본값: default_proc, 유형: 문자열) end |