클래스: Mongoid::Fields::Standard
개요
Mongoid가 유지하는 BSON 문서에 일관적인 스키마 구조를 시행하다 데 사용되는 표준 필드 정의(이름, 유형 등)를 나타냅니다.
인스턴스 속성 요약 접기
-
#default_val ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다.
-
#레이블 ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다.
-
#이름 ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다.
-
#options ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다.
인스턴스 메서드 요약 접기
-
#add_atomic_changes(_document, _name, key, mods, new, _old) ⇒ 객체
이 유형의 크기 조정 가능한 필드에 대한 원자적 변경 사항을 추가합니다.
-
#association ⇒ Metadata
외래 키인 경우 필드 의 메타데이터 를 가져옵니다.
-
#eval_default(doc) ⇒ 객체
기본값 을 평가하고 반환합니다.
-
#foreign_key? ⇒ true | false
이 필드가 외래 키입니까?
-
#initialize(name, options = {}) ⇒ Standard
생성자
이름과 선택적 추가 옵션을 사용하여 새 필드 를 만듭니다.
-
#게으르다? ⇒ true | false
이 필드 는 지연 기본값 평가를 수행하나요?
-
#localize_present? ⇒ true | false
현지화된 필드가 존재하는 값을 적용하고 있나요?
-
#현지화? ⇒ true | false
필드 가 현지화되어 있나요?
-
#object_id_field? ⇒ true | false
필드 가 BSON::ObjectId입니까?
-
#pre_processed? ⇒ true | false
필드 가 기본값 을 사전 처리하나요?
-
#유형 ⇒ 클래스
클래스 이름에서 유추된 이 필드의 유형을 가져옵니다.
생성자 세부 정보
#initialize(name, options = {}) ⇒ Standard
이름과 선택적 추가 옵션을 사용하여 새 필드 를 만듭니다.
69 70 71 72 73 74 75 76 77 78 79 80 81 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 69 def 초기화(이름, = {}) @name = 이름 @options = @label = [:label] @default_val = [:default] # @todo: Durran, 4.0 에서 클래스를 매개변수로 사용하도록 API를 변경합니다. # 변경하지 않고 #2529 문제를 해결하기 위해 일시적으로 표시됩니다. # 생성자 서명. 반환 하지 않는 한 default_val.response_to?(:call) 정의_기본_메서드([:klass]) end |
인스턴스 속성 세부 정보
#default_val ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다. 인스턴스 변수에 대한 판독기를 설정합니다.
13 14 15 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 13 def default_val @default_val end |
#레이블 ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다. 인스턴스 변수에 대한 판독기를 설정합니다.
13 14 15 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 13 def 레이블 @label end |
#이름 ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다. 인스턴스 변수에 대한 판독기를 설정합니다.
13 14 15 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 13 def 이름 @name end |
#options ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다. 인스턴스 변수에 대한 판독기를 설정합니다.
13 14 15 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 13 def @options end |
인스턴스 메서드 세부 정보
#add_atomic_changes(_document, _name, key, mods, new, _old) ⇒ 객체
이 유형의 크기 조정 가능한 필드에 대한 원자적 변경 사항을 추가합니다.
필드.add_atomic_changes(doc, "key", {}, [], [])
28 29 30 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 28 def add_atomic_changes(_document, _name, 키, mods, 신규, _old) mods[키] = 신규 end |
#연관 관계 ⇒ 메타데이터
외래 키인 경우 필드 의 메타데이터 를 가져옵니다.
119 120 121 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 119 def 연관 관계 @association ||= [:association] end |
#eval_default(doc) ⇒ 객체
기본값 을 평가하고 반환합니다. 필요한 경우 직렬화, proc 호출 및 복제를 처리하다 합니다.
41 42 43 44 45 46 47 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 41 def eval_default(doc) 만약 필드 = doc.__selected_fields 평가된_기본값(doc) 만약 포함?(필드) other 평가된_기본값(doc) end end |
#foreign_key? ⇒ true | false
이 필드 가 외래 키입니까?
55 56 57 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 55 def foreign_key? 거짓 end |
#게으르다? ⇒ true | false
이 필드는 지연 기본 평가를 수행하나요?
89 90 91 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 89 def 게으른가요? 거짓 end |
#localize_present? ⇒ true | false
현지화된 필드 에 값이 존재해야 하나요?
109 110 111 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 109 def localize_present? 거짓 end |
#현지화? ⇒ true | false
필드 가 현지화되어 있나요?
99 100 101 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 99 def 현지화? 거짓 end |
#object_id_field? ⇒ true | false
필드가 BSON::ObjectId입니까?
129 130 131 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 129 def object_id_field? @object_id_field ||= (유형 == BSON::ObjectId) end |
#pre_processed? ⇒ true | false
필드 가 기본값 을 사전 처리하나요?
139 140 141 142 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 139 def pre_processed? @pre_processed ||= [:pre_processed] || (default_val && !default_val.is_a?(::Proc)) end |
#유형 ⇒ 클래스
클래스 이름에서 유추된 이 필드의 유형을 가져옵니다.
150 151 152 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 150 def 유형 @type ||= [:type] || 객체 end |