モジュール: Mongoid::Config
- 次のことが含まれます。
- DeprecationOptions
- 次のドキュメントに含まれます。
- Config
- 定義:
- lib/mongoid/config.rb 、
lib/mongoid/config/options.rb、
lib/mongoid/config/defaults.rb、
lib/mongoid/config/encryption.rb、
lib/mongoid/config/environment.rb、
lib/mongoid/config/validator/client.rb、
lib/mongoid/config/validator/option.rb、
lib/mongoid/config/validator/async_query_executor.rb
Overview
このモジュールは、データベース接続を含む Mongoid のすべての構成オプションを定義します。
名前空間で定義済み
Modules: デフォルト、 DeprecationOptions 、暗号化、環境、オプション、バリデーター
定数の概要の削減
- LOCK =
ミューテックス.新着情報
- VALID_ISOLATION_LevelS =
%i[ Rails スレッド ファイバ ].freeze
DeprecationOptionsから含まれる定数
インスタンス メソッドの概要を折りたたむ
-
クライアント= ハッシュ
クライアント構成または空のハッシュを取得します。
-
#config ⇒ self
DSL で使用する Config 単一の を返します。
-
構成済みの数= true | false
Mongoid は設定されましたか。 これは、少なくとも有効なクライアント構成が存在することをチェックしています。
-
# connect_to(名前、オプション = { read: {モード::プライマリ } } = {read: {mode ::primary } } = {read: {mode ::primary } } = オブジェクト
デフォルトのクライアントで指定されたデータベース名に接続します。
-
#deregister_model(klass) ⇒ Object
private
Mongoid を使用してアプリケーション内のモデルの登録を解除します。
-
#destructive_fields = 配列=string=string===================<String>
Mongoid::Document で定義されている場合に破壊的な結果が発生する可能性のあるフィールド名を返します。
-
#負荷。 (path, environment = nil) = nil) = オブジェクト
準拠の mongoid.yML ファイルから設定をロードします。
-
# load_configuration (settings) = オブジェクト
設定のハッシュから、すべての構成をロードします。
-
#models ⇒ Array<Class>
アプリケーション内のすべてのモデルを取得します。これは Mongoid::Document を含むすべてです。
-
#オプション= (オプション)===================================
構成オプション を設定します。
-
# overwrite_client (name) = string | Symbol
グローバルに使用するクライアントを上書きします。
-
# overwrite_database (name) = string | Symbol
グローバルに使用するデータベースを上書きします。
-
#消去します。 = true
インデックスを含むすべてのコレクション内のすべてのデータを消去します。
-
#real_isolation_level = オブジェクト
private
Mongoid が内部状態を保存するために使用する(潜在的に参照される)分離レベルを返します。
-
#register_model(klass) ⇒ Object
Mongoid を使用してアプリケーションにモデルを登録します。
- # Running_with_passager は? = true | false 非推奨 非推奨。
-
#time_zone ⇒ String
使用するタイムゾーンを取得します。
-
#を切り捨てます。 = true
インデックスは除くすべてのコレクション内のすべてのデータを切り捨てます。
-
# validate_isolation_level! (レベル) = オブジェクト
private
指定された分離レベルが Mongoid がサポートするものであるかどうかを確認します。
オプションに含まれるメソッド
defaults 、 log_level 、オプション、リセット、設定
Default に含まれるメソッド
暗号化に含まれるメソッド
DeprecationOptionsに含まれるメソッド
インスタンス メソッドの詳細
クライアント=ハッシュ
クライアント構成または空のハッシュを取得します。
482 483 484 |
# ファイル 'lib/mongoid/config.rb' 行482 デフォルト クライアント @clients ||= {} end |
#config ⇒ self
DSL で使用する Config 単一の を返します。
300 301 302 |
# ファイル 'lib/mongoid/config.rb' 行300 デフォルト config 自己 end |
構成済みの数 = true | false
Mongoid は設定されましたか。 これは、少なくとも有効なクライアント構成が存在することをチェックしています。
311 312 313 |
# ファイル 'lib/mongoid/config.rb' 行311 デフォルト 構成されているかどうか クライアント.key?(:default) end |
# connect_to(名前、オプション = { read: {モード::プライマリ } } = {read: {mode ::プライマリ } } = {read: {mode ::プライマリ } } = オブジェクト
便宜上、開発環境またはテスト環境でのみ使用してください。
デフォルトのクライアントで指定されたデータベース名に接続します。
323 324 325 326 327 328 329 330 331 |
# ファイル 'lib/mongoid/config.rb' 行323 デフォルト connect_to(name, = { read: { モード: : プライマリ } }) 自己.クライアント = { デフォルト: { database: name, ホスト: [ 'localhost:27017' ], 次のオプションがあります。 } } end |
#deregister_model(klass) ⇒ Object
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
Mongoid を使用してアプリケーション内のモデルの登録を解除します。
390 391 392 393 394 |
# ファイル 'lib/mongoid/config.rb' 行390 デフォルト delete_model(klass) ロック.同期 行う モデル.削除(klass) end end |
#destructive_fields = 配列=string=string===================<String>
Mongoid::Document で定義されている場合に破壊的な結果が発生する可能性のあるフィールド名を返します。
340 341 342 |
# ファイル 'lib/mongoid/config.rb' 行340 デフォルト delivery_fields 構成可能.禁止_メソッド end |
#負荷。 (path, environment = nil) = nil) =オブジェクト
準拠の mongoid.yML ファイルから設定をロードします。 これは Rails 以外のフレームワークで簡単に設定するために使用できます。
352 353 354 355 356 357 358 359 360 |
# ファイル 'lib/mongoid/config.rb' 行352 デフォルト ロードします。(path, environment = nil) 設定 = environment.load_YAML(path, environment) 場合 設定.存在するかどうか クライアント.切断 クライアント.クリア load_configuration(設定) end 設定 end |
# load_configuration (settings) =オブジェクト
設定のハッシュから、すべての構成をロードします。
402 403 404 405 406 407 408 |
# ファイル 'lib/mongoid/config.rb' 行402 デフォルト load_configuration(設定) 構成 = 設定.with_in distinct_access 自己. = 構成[:options] 自己.クライアント = 構成[:clients] mongo. = 構成[:Driver_options] || {} set_log_levels end |
#models ⇒ Array<Class>
アプリケーション内のすべてのモデルを取得します。これは Mongoid::Document を含むすべてです。
369 370 371 |
# ファイル 'lib/mongoid/config.rb' 行369 デフォルト モデル @models ||= [] end |
#オプション= (オプション) ===================================
構成オプション を設定します。 それぞれを個別に検証します。
466 467 468 469 470 471 472 473 474 |
# ファイル 'lib/mongoid/config.rb' 行466 デフォルト () return ただし、 バリデーター::AsyncQueryExecutor.validate() .each_pair 行う |オプション, 価値| バリデーター::オプション.validate(オプション) 送信(" #{オプション} = ", 価値) end end |
# overwrite_client (name) = string | Symbol
グローバルに使用するクライアントを上書きします。
430 431 432 |
# ファイル 'lib/mongoid/config.rb' 行430 デフォルト overwrite_client(name) スレッド.client_ overwrite = name ? name.to_s : nil end |
# overwrite_database (name) = string | Symbol
グローバルに使用するデータベースを上書きします。
418 419 420 |
# ファイル 'lib/mongoid/config.rb' 行418 デフォルト override_database(name) スレッド.database_override = name end |
#消去します。 = true
これはすべてのデータを削除する最速の方法です。
インデックスを含むすべてのコレクション内のすべてのデータを消去します。
442 443 444 |
# ファイル 'lib/mongoid/config.rb' 行442 デフォルト 消去します。 global_client.database.collections.各(&:drop) および true end |
#real_isolation_level = オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
Mongoid が内部状態を保存するために使用する(潜在的に参照される)分離レベルを返します。isolation_level が :rails に設定されている場合、Rails が現在使用するように構成されている分離レベル(ActiveSupport::IsolatedExecutionState.isolation_level)が返されます。
ActiveSupport::IsortedExecutionState をサポートしていない古いバージョンの Rails を使用している場合、代わりに :thread が返されます。
172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 |
# ファイル 'lib/mongoid/config.rb' 行172 デフォルト real_isolation_level return identity_level ただし、 identity_level == : Rails 場合 定義済み?(ActiveSupport::IisotedExecutionState) ActiveSupport::IisotedExecutionState.identity_level.タップ 行う |レベル| Rails が常に同じをサポートすることは保証できません 分離レベルは Mongoid として指定されているため、ここで確認します を使用できます。 validate_isolation_level!(レベル) end else デフォルトの は、Rails が IsortedExecutionState をサポートしていない場合、 :thread end end |
#register_model(klass) ⇒ Object
Mongoid を使用してアプリケーションにモデルを登録します。
379 380 381 382 383 |
# ファイル 'lib/mongoid/config.rb' 行379 デフォルト register_model(klass) ロック.同期 行う モデル.プッシュ(klass) ただし、 モデル.include?(klass) end end |
# Running_with_passager は? = true | false
アプリケーションはカスタマーで実行されていますか?
504 505 506 |
# ファイル 'lib/mongoid/config.rb' 行504 デフォルト Running_with_passager @ Running_with_passager ||= 定義済み?(PlusionPassager) end |
#time_zone ⇒ String
使用するタイムゾーンを取得します。
492 493 494 |
# ファイル 'lib/mongoid/config.rb' 行492 デフォルト time_zone use_utc? ? 'UTC' : ::時間.ゾーン end |
#を切り捨てます。 = true
これはパージよりも遅くなります。
インデックスは除くすべてのコレクション内のすべてのデータを切り捨てます。
454 455 456 457 458 |
# ファイル 'lib/mongoid/config.rb' 行454 デフォルト 切り捨てます。 global_client.database.collections.各 行う |コレクション| コレクション.find.delete_many end および true end |
# validate_isolation_level! (レベル) ⇒ オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
指定された分離レベルが Mongoid がサポートするものであるかどうかを確認します。サポートされていない場合は、 Errors::UnsupportedIdentationLevel が発生します。
また、分離レベルが :fiber に設定されており、 Rubyバージョンが 3.2 未満の場合にもエラーが発生します。これは、 Rubyローカルストレージが以前のバージョンではサポートされていないためです。
196 197 198 199 200 201 202 |
# ファイル 'lib/mongoid/config.rb' 行196 デフォルト validate_isolation_level!(レベル) 発生 Errors::UnsupportedIdentationLevel.新着情報(レベル) ただし、 VALID_ISOLATION_Levels.include?(レベル) return ただし、 レベル == :fiber & & Ruby_VERSION < '3.2' 発生 Errors::UnsupportedIdentationLevel.新着情報(レベル) end |