클래스: Mongoid::Fields::Standard
개요
Mongoid가 유지하는 BSON 문서에 일관적인 스키마 구조를 시행하다 데 사용되는 표준 필드 정의(이름, 유형 등)를 나타냅니다.
인스턴스 속성 요약 접기
-
#default_val ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다.
-
#레이블 ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다.
-
#이름 ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다.
-
#options ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다.
인스턴스 메서드 요약 접기
-
#add_atomic_changes(문서, name, key, mods, new, old) ⇒ Object
이 유형의 크기 조정 가능한 필드에 대한 원자적 변경 사항을 추가합니다.
-
#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
이름과 선택적 추가 옵션을 사용하여 새 필드 를 만듭니다.
71 72 73 74 75 76 77 78 79 80 81 82 83 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 71 def 초기화(이름, = {}) @name = 이름 @options = @label = [:label] @default_val = [:default] # @todo: Durran, 4.0 에서 클래스를 매개변수로 사용하도록 API를 변경합니다. # 변경하지 않고 #2529 문제를 해결하기 위해 일시적으로 표시됩니다. # 생성자 서명. 만약 default_val.response_to?(:call) 정의_기본_메서드([:klass]) end end |
인스턴스 속성 세부 정보
#default_val ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다. 인스턴스 변수에 대한 판독기를 설정합니다.
15 16 17 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 15 def default_val @default_val end |
#레이블 ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다. 인스턴스 변수에 대한 판독기를 설정합니다.
15 16 17 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 15 def 레이블 @label end |
#이름 ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다. 인스턴스 변수에 대한 판독기를 설정합니다.
15 16 17 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 15 def 이름 @name end |
#options ⇒ 객체
문서 에 정의된 필드에 대한 동작을 정의합니다. 인스턴스 변수에 대한 판독기를 설정합니다.
15 16 17 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 15 def @options end |
인스턴스 메서드 세부 정보
#add_atomic_changes(문서, name, key, mods, new, old) ⇒ Object
이 유형의 크기 조정 가능한 필드에 대한 원자적 변경 사항을 추가합니다.
필드.add_atomic_changes(doc, "key", {}, [], [])
30 31 32 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 30 def add_atomic_changes(문서, 이름, 키, mods, 신규, old) mods[키] = 신규 end |
#연관 관계 ⇒ 메타데이터
외래 키인 경우 필드 의 메타데이터 를 가져옵니다.
121 122 123 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 121 def 연관 관계 @association ||= [:association] end |
#eval_default(doc) ⇒ 객체
기본값 을 평가하고 반환합니다. 필요한 경우 직렬화, proc 호출 및 복제를 처리하다 합니다.
43 44 45 46 47 48 49 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 43 def eval_default(doc) 만약 필드 = doc.__selected_fields 평가된_기본값(doc) 만약 포함?(필드) other 평가된_기본값(doc) end end |
#foreign_key? ⇒ true | false
이 필드 가 외래 키입니까?
57 58 59 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 57 def foreign_key? 거짓 end |
#게으르다? ⇒ true | false
이 필드는 지연 기본 평가를 수행하나요?
91 92 93 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 91 def 게으른가요? 거짓 end |
#localize_present? ⇒ true | false
현지화된 필드 에 값이 존재해야 하나요?
111 112 113 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 111 def localize_present? 거짓 end |
#현지화? ⇒ true | false
필드 가 현지화되어 있나요?
101 102 103 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 101 def 현지화? 거짓 end |
#object_id_field? ⇒ true | false
필드가 BSON::ObjectId입니까?
131 132 133 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 131 def object_id_field? @object_id_field ||= (유형 == BSON::ObjectId) end |
#pre_processed? ⇒ true | false
필드 가 기본값 을 사전 처리하나요?
141 142 143 144 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 141 def pre_processed? @pre_processed ||= ([:pre_processed] || (default_val && !default_val.is_a?(::Proc))) end |
#유형 ⇒ 클래스
클래스 이름에서 유추된 이 필드의 유형을 가져옵니다.
152 153 154 |
# 파일 'lib/mongoid/fields/standard.rb', 줄 152 def 유형 @type ||= [:type] || 객체 end |