모듈: Mongoid::Config
- 확장자:
- Forwardable, Config, Defaults, Encryption, Options
- 다음을 포함합니다.
- DeprecatedOptions
- 포함 항목:
- Config
- 다음에 정의됨:
- lib/mongoid/config.rb,
lib/mongoid/config/options.rb,
lib/mongoid/config/defaults.rb,
lib/mongoid/config/ 암호화.rb,
lib/mongoid/config/environment.rb,
lib/mongoid/config/validators/ 클라이언트.rb,
lib/mongoid/config/validators/option.rb,
lib/mongoid/config/validators/async_query_executor.rb
개요
이 모듈은 데이터베이스 연결을 포함하여 Mongoid에 대한 모든 구성 옵션을 정의합니다.
네임스페이스 아래에 정의됨
모듈: Defaults, DeprecatedOptions, Encryption, Environment, Options, Validators
상수 요약 접기
- LOCK =
뮤텍스.신규
- VALID_ISOLATION_LEVELS =
%i[ Rails 스레드 파이버 ].동결
DeprecatedOptions에 포함된 상수
인스턴스 메서드 요약 접기
-
#클라이언트 ⇒ 해시
클라이언트 구성 또는 빈 해시를 가져옵니다.
-
#config ⇒ self
구성 DSL에 사용할 구성 싱글톤을 반환합니다.
-
#구성되었나요? ⇒ true | false
Mongoid가 구성되었나요? 이는 하나 이상의 유효한 클라이언트 구성이 있는지 확인하는 것입니다.
-
#connect_to(name, options = { read: { 모드:: 프라이머리 } }) ⇒ 객체
기본값 클라이언트 에서 제공된 데이터베이스 이름에 연결합니다.
-
#deregister_model(klass) ⇒ Object
비공개
Mongoid를 사용하여 애플리케이션 에서 모델을 등록 취소합니다.
-
#destructive_fields ⇒ Array<String>
Mongoid::Document에 정의된 경우 파괴적인 일을 일으킬 수 있는 필드 이름을 반환합니다.
-
#로드!(경로, 환경 = nil) ⇒ 객체
호환되는 mongoid.yml 파일 에서 설정을 로드합니다.
-
#load_configuration(settings) ⇒ 객체
설정 해시에서 모든 구성을 로드합니다.
-
#models ⇒ Array<Class>
애플리케이션 의 모든 모델 가져오기 - 여기에는 Mongoid::Document가 포함된 모든 것이 포함됩니다.
-
#options=(options) ⇒ 객체
구성 옵션을 설정합니다.
-
#override_client(name) ⇒ string | 기호
클라이언트 를 재정의하여 전역적으로 사용합니다.
-
#Override_database(이름) ⇒ string | 기호
전역적으로 사용하려면 데이터베이스 를 재정의합니다.
-
#퍼지! ⇒ true
인덱스를 포함한 모든 컬렉션의 모든 데이터를 제거합니다.
-
#real_isolation_level ⇒ 객체
비공개
Mongoid가 내부 상태 저장 데 사용할 (역참조 가능성이 있는) 격리 수준을 반환합니다.
-
#Register_model(klass) ⇒ 객체
Mongoid를 사용하여 애플리케이션 에 모델을 등록합니다.
- #Running_with_passenger? ⇒ true | false 사용 중단 더 이상 사용되지 않습니다.
-
#time_zone ⇒ string
사용할 표준 구역 를 가져옵니다.
-
#잘라내기! ⇒ true
모든 컬렉션의 모든 데이터를 자르고 인덱스는 자르지 않습니다.
-
#validate_isolation_level!(레벨) ⇒ 객체
비공개
제공된 격리 수준이 Mongoid가 지원하는 격리 수준인지 확인합니다.
옵션에 포함된 메서드
기본값에 포함된 메서드
암호화에 포함된 메서드
DeprecatedOptions에 포함된 메서드
인스턴스 메서드 세부 정보
#클라이언트 ⇒ 해시
클라이언트 구성 또는 빈 해시를 가져옵니다.
482 483 484 |
# 파일 'lib/mongoid/config.rb', 482줄 def 클라이언트 @clients ||= {} end |
#config ⇒ self
구성 DSL에 사용할 구성 싱글톤을 반환합니다.
300 301 302 |
# 파일 'lib/mongoid/config.rb', 300줄 def config self end |
#구성되었나요? ⇒ true | false
Mongoid가 구성되었나요? 이는 하나 이상의 유효한 클라이언트 구성이 있는지 확인하는 것입니다.
311 312 313 |
# 파일 'lib/mongoid/config.rb', 311줄 def 구성? 클라이언트.키?(:default) end |
#connect_to(name, options = { read: { 모드:: 프라이머리 } }) ⇒ 객체
편의를 위해 개발 또는 테스트 환경에서만 사용하세요.
기본값 클라이언트 에서 제공된 데이터베이스 이름에 연결합니다.
323 324 325 326 327 328 329 330 331 |
# 파일 'lib/mongoid/config.rb', 323줄 def connect_to(이름, = { 읽기: { 모드: :primary } }) self.클라이언트 = { 기본값: { database: 이름, 호스트: [ 'localhost:27017' ], 옵션: } } end |
#deregister_model(klass) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
Mongoid를 사용하여 애플리케이션 에서 모델을 등록 취소합니다.
390 391 392 393 394 |
# 파일 'lib/mongoid/config.rb', 390줄 def deregister_model(class) 잠금.동기화 do 모델.삭제(class) end end |
#destructive_fields ⇒ Array<String>
Mongoid::Document에 정의된 경우 파괴적인 일을 일으킬 수 있는 필드 이름을 반환합니다.
340 341 342 |
# 파일 'lib/mongoid/config.rb', 340줄 def destructive_fields 컴포저블.금지된_메서드 end |
#로드!(경로, 환경 = nil) ⇒ 객체
호환되는 mongoid.yml 파일 에서 설정을 로드합니다. 이는 Rails 이외의 프레임워크로 쉽게 설정 하는 데 사용할 수 있습니다.
352 353 354 355 356 357 358 359 360 |
# 파일 'lib/mongoid/config.rb', 352줄 def 로드!(경로, 환경 = nil) 설정 = 환경.load_yaml(경로, 환경) 만약 설정.현재? 클라이언트.연결 해제 클라이언트.지우기 load_configuration(설정) end 설정 end |
#load_configuration(settings) ⇒ 객체
설정 해시에서 모든 구성을 로드합니다.
402 403 404 405 406 407 408 |
# 파일 'lib/mongoid/config.rb', 402줄 def load_configuration(설정) 구성 = 설정.with_in Different_access self. = 구성[:options] self.클라이언트 = 구성[:clients] mongo. = 구성[:driver_options] || {} set_log_levels end |
#models ⇒ Array<Class>
애플리케이션 의 모든 모델 가져오기 - 여기에는 Mongoid::Document가 포함된 모든 것이 포함됩니다.
369 370 371 |
# 파일 'lib/mongoid/config.rb', 369줄 def 모델 @models ||= [] end |
#options=(options) ⇒ 객체
구성 옵션을 설정합니다. 각각 개별적으로 유효성을 검사합니다.
466 467 468 469 470 471 472 473 474 |
# 파일 'lib/mongoid/config.rb', 466줄 def () 반환 하지 않는 한 유효성 검사기::AsyncQueryExecutor.유효성 검사() .각각의 쌍 do |옵션, value| 유효성 검사기::옵션.유효성 검사(옵션) send("#{option}=", value) end end |
#override_client(name) ⇒ string | 기호
클라이언트 를 재정의하여 전역적으로 사용합니다.
430 431 432 |
# 파일 'lib/mongoid/config.rb', 430줄 def Override_client(이름) 스레드.client_override = 이름 ? 이름.to_s : nil end |
#Override_database(이름) ⇒ string | 기호
전역적으로 사용하려면 데이터베이스 를 재정의합니다.
418 419 420 |
# 파일 'lib/mongoid/config.rb', 418줄 def override_database(이름) 스레드.database_override = 이름 end |
#퍼지! ⇒ true
이는 모든 데이터를 삭제하는 가장 빠른 방법입니다.
인덱스를 포함한 모든 컬렉션의 모든 데이터를 제거합니다.
442 443 444 |
# 파일 'lib/mongoid/config.rb', 442줄 def 퍼지! global_client.database.collections.각(&:drop) 개인정보 정책에 true end |
#real_isolation_level ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
Mongoid가 내부 상태 저장 데 사용할 (역참조 가능성이 있는) 격리 수준을 반환합니다. isolation_level 를 :rails로 설정하다 하면 현재 Rails가 사용하도록 구성된 격리 수준(ActiveSupport::IsolatedExecutionState.isolation_level)이 반환됩니다.
ActiveSupport::IsolatedExecutionState를 지원 하지 않는 이전 버전의 Rails를 사용하는 경우 대신 :thread 를 반환합니다.
172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 |
# 파일 'lib/mongoid/config.rb', 172줄 def real_isolation_level 반환 격리 수준 하지 않는 한 격리 수준 == : Rails 만약 정의됨?(ActiveSupport::IsolatedExecutionState) ActiveSupport::IsolatedExecutionState.격리 수준.탭 do |레벨| # Rails가 항상 동일한 기능을 지원 한다고 보장할 수는 없습니다. # 격리 수준이 Mongoid이므로 여기에서 확인합니다. # 작업할 수 있는 기능입니다. validate_isolation_level!(레벨) end other # Rails가 IsolatedExecutionState를 지원 하지 않는 경우 기본값 :thread end end |
#register_model(klass) ⇒ Object
Mongoid를 사용하여 애플리케이션 에 모델을 등록합니다.
379 380 381 382 383 |
# 파일 'lib/mongoid/config.rb', 379줄 def Register_model(class) 잠금.동기화 do 모델.push(class) 하지 않는 한 모델.포함?(class) end end |
#Running_with_passenger? ⇒ true | false
애플리케이션 이 Passenger로 실행 되고 있나요?
504 505 506 |
# 파일 'lib/mongoid/config.rb', 504줄 def Running_with_passenger? @running_with_passenger ||= 정의됨?(PherationPassenger) end |
#time_zone ⇒ String
사용할 표준 구역 를 가져옵니다.
492 493 494 |
# 파일 'lib/mongoid/config.rb', 492줄 def time_zone use_utc? ? 'UTC' : ::시간.영역 end |
#잘라내기! ⇒ true
이는 퍼지보다 느립니다!
모든 컬렉션의 모든 데이터를 자르고 인덱스는 자르지 않습니다.
454 455 456 457 458 |
# 파일 'lib/mongoid/config.rb', 454줄 def 잘라내기! global_client.database.collections.각 do |컬렉션| 컬렉션.찾기.delete_many end 개인정보 정책에 true end |
#validate_isolation_level!(레벨) ⇒ 객체
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
제공된 격리 수준이 Mongoid가 지원하는 격리 수준인지 확인합니다. 그렇지 않은 경우 Error::UnsupportedIsolationLevel을 발생시킵니다.
격리 수준이 :fiber 으로 설정하다 있고 Ruby 버전이 3.2 미만인 경우에도 이전 Ruby 버전에서는 파이버 로컬 저장 지원되지 않기 때문에 오류가 발생합니다.
196 197 198 199 200 201 202 |
# 파일 'lib/mongoid/config.rb', 196줄 def validate_isolation_level!(레벨) 올리다 오류::UnsupportedIsolationLevel.신규(레벨) 하지 않는 한 VALID_ISOLATION_LEVELS.포함?(레벨) 반환 하지 않는 한 레벨 == :파이버 && RUBY_VERSION < '3.2' 올리다 오류::UnsupportedIsolationLevel.신규(레벨) end |