モジュール: Mongoid::Threaded
Overview
このモジュールには、現在のスレッドでライフサイクルがあるオブジェクトに簡単にアクセスするためのロジックが含まれています。
名前空間で定義済み
Modules: ライフサイクル
定数の概要の削減
- DATABASE_OVERRIDE_KEY =
'[mongoid]:db-overwrite'
- CLIENTS_KEY =
クライアントを保存するキーの定数。
'[mongoid]:clients'
- CLIENT_OVERRIDE_KEY =
クライアントを上書きするキー。
'[mongoid]:client-overwrite'
- CURRENT_SCOPE_KEY =
現在のスレッドのスコープ スタックのキー。
'[mongoid]:current-scope'
- オートメーション_キー =
'[mongoid]: autosaves'
- VALIDATIONS_KEY =
'[mongoid]:validation'
- STACK_KEY =
ハッシュ.新着情報 行う |ハッシュ, キー| ハッシュ[キー] = " [mongoid]: #{ key } -stack " end
- SESSIONS_KEY =
現在のスレッドのセッションのキー。
'[mongoid]:sessions'
- 変更された_DOCUMENTS_KEY =
トランザクション内で変更されたドキュメントを保存するためのキー。
'[mongoid]:modified-documents'
- EXECUTE_CALLBACKS =
ドキュメントに対してコールバックが実行されるかどうかのデフォルト値を保存するキー。
'[mongoid]:execute-colbacks'
- BIND =
'bind'.freeze
- ASsign =
はを割り当てます.freeze
- 構築 =
'ビルド'.freeze
- ロード =
'load'.freeze
- CREATE =
' create '.freeze
インスタンス メソッドの概要を折りたたむ
-
#add_modified_document(session, document) ⇒ Object
セッションに関連付けられたトランザクション内で変更されたドキュメントへの参照を保存します。
-
自動保存の数(ドキュメント)=true| false
ドキュメントは現在のスレッドで自動保存されていますか?
-
#autosaves ⇒ Hash
現在のスレッド上のすべてのオート保存を取得します。
-
#autosaves_for(klass) ⇒ Array
クラスの現在のスレッドにおけるすべてのオート保存を取得します。
-
#begin_autosave(document) ⇒ Object
現在のスレッドでドキュメントの自動保存を開始します。
-
# start_execution (name) = true
名前付きスレッド ローカル スタックへのエントリを開始します。
-
start_validate (ドキュメント)= オブジェクト
現在のスレッドでドキュメントの検証を開始します。
-
# start_when_default_scope (klas)= オブジェクト
private
現在のスレッドで特定のモデルのデフォルト スコープの非表示を開始します。
-
#clear_modified_documents(session) ⇒ Set<Mongoid::Document>
指定されたセッションの変更されたドキュメントのセットをクリアし、クリアされる前にセットの内容を返します。
-
#clear_session(client: nil) ⇒ nil
クライアントのこのスレッドのキャッシュされたセッションをクリアします。
-
# client_serveride = string | Symbol
グローバル クライアント オーバーライドを取得します。
-
クライアント_オーバーライド= (名前) = string = (name) = string | Symbol
グローバル クライアント オーバーライドを設定します。
-
#current_scope (klas = nil)===========================================================
現在の Mongoid スコープを取得します。
-
# current_scope= (スコープ)===================================================================================
現在の Mongoid スコープを設定します。
-
#database_override ⇒ String | Symbol
グローバル データベースの上書きを取得します。
-
# database_overwrite= (name) = string | Symbol
グローバル データベース オーバーライドを設定します。
-
#実行_コールバックs= (フラグ) = オブジェクト
現在のスレッドに対してドキュメント コールバックをデフォルトで呼び出すかどうかを示します。
-
実行_コールバックの回数は? = true | false
ドキュメント コールバックを現在のスレッドでデフォルトで実行するかどうかをクエリします。
-
を実行する数は? (name) = true
名前付きスタックを実行している最中である。
-
終了_自動保存(ドキュメント) = オブジェクト
現在のスレッドでドキュメントの自動保存を終了します。
-
# end_execution (name) = true
名前付きスレッド ローカル スタックから終了します。
-
end_validate (ドキュメント) = オブジェクト
現在のスレッド上のドキュメントの検証を終了します。
-
# end_Without_default_scope (klas) = オブジェクト
private
現在のスレッドで特定のモデルのデフォルト スコープの非表示を終了します。
-
#get_session(client: nil) ⇒ Mongo::Session | nil
クライアントのこのスレッドのキャッシュされたセッションを取得します。
-
" modified_documents "<Mongoid::Document> = "Hash""Mongo::Session、Set"Mongoid::Document"
private
変更されたドキュメントのスレッド ストアを返します。
-
セッション= ハッシュ <Integer, Set>
private
セッションのスレッド ストアを返します。
-
# set_current_scope (scope、klas) = 基準
現在の Mongoid スコープを設定します。
-
# set_session (セッション、クライアント: nil) = オブジェクト
クライアント用のこのスレッドのセッションをキャッシュします。
-
#stack (名前)= 配列
名前付きスタックを取得します。
-
検証された回数(ドキュメント)=true| false
ドキュメントは現在のスレッドで検証されていますか?
-
#validations ⇒ Hash
現在のスレッドのすべての検証を取得します。
-
#validations_for(klass) ⇒ Array
クラスの現在のスレッドに関するすべての検証を取得します。
-
では、_default_scope は(klas) = ブール値
private
指定されたクラスのデフォルトのスコープは現在のスレッドで非表示になっていますか。
インスタンス メソッドの詳細
#add_modified_document(session, document) ⇒ Object
セッションに関連付けられたトランザクション内で変更されたドキュメントへの参照を保存します。
365 366 367 368 369 |
# ファイル 'lib/mongoid/threaded.rb', 行365 デフォルト add_modified_document(セッション, ドキュメント) return ただし、 セッション&.in_transaction? scheduled_documents[セッション] < ドキュメント end |
自動保存の数(ドキュメント)= true| false
ドキュメントは現在のスレッドで自動保存されていますか?
264 265 266 |
# ファイル 'lib/mongoid/threaded.rb', 行264 デフォルト 自動保存(ドキュメント) autoss_for(ドキュメント.クラス).include?(ドキュメント._id) end |
#autosaves ⇒ Hash
現在のスレッド上のすべてのオート保存を取得します。
286 287 288 |
# ファイル 'lib/mongoid/threaded.rb', 行286 デフォルト 自動保存 スレッド.Current[オートメーション_キー] ||= {} end |
#autosaves_for(klass) ⇒ Array
クラスの現在のスレッドにおけるすべてのオート保存を取得します。
308 309 310 |
# ファイル 'lib/mongoid/threaded.rb', 行308 デフォルト autoss_for(klass) 自動保存[klass] ||= [] end |
#begin_autosave(document) ⇒ Object
現在のスレッドでドキュメントの自動保存を開始します。
115 116 117 |
# ファイル 'lib/mongoid/threaded.rb', 行115 デフォルト begin_autosave(ドキュメント) autoss_for(ドキュメント.クラス).プッシュ(ドキュメント._id) end |
# start_execution (name) = true
名前付きスレッド ローカル スタックへのエントリを開始します。
47 48 49 |
# ファイル 'lib/mongoid/threaded.rb', 行47 デフォルト start_execution(name) stack(name).プッシュ(true) end |
start_validate (ドキュメント)=オブジェクト
現在のスレッドでドキュメントの検証を開始します。
125 126 127 |
# ファイル 'lib/mongoid/threaded.rb', 行125 デフォルト start_validate(ドキュメント) validation_for(ドキュメント.クラス).プッシュ(ドキュメント._id) end |
# start_when_default_scope (klas)=オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
現在のスレッドで特定のモデルのデフォルト スコープの非表示を開始します。
157 158 159 |
# ファイル 'lib/mongoid/threaded.rb', 行157 デフォルト start_Without_default_scope(klass) stack(: without_default_scope).プッシュ(klass) end |
# clear_modified_documents (セッション) ==========================================================================================
指定されたセッションの変更されたドキュメントのセットをクリアし、クリアされる前にセットの内容を返します。
378 379 380 381 382 |
# ファイル 'lib/mongoid/threaded.rb', 行378 デフォルト clear_modified_documents(セッション) scheduled_documents[セッション].dup 保証する scheduled_documents[セッション].クリア end |
#clear_session(client: nil) ⇒ nil
下位互換性のために、次のなしでこのメソッドを呼び出すことができます:
クライアントのこのスレッドのキャッシュされたセッションをクリアします。
'client` パラメーターを指定します。
355 356 357 |
# ファイル 'lib/mongoid/threaded.rb', 行355 デフォルト clear_session(クライアント: nil) セッション.削除(クライアント)&.end_session end |
# client_serveride = string | Symbol
グローバル クライアント オーバーライドを取得します。
179 180 181 |
# ファイル 'lib/mongoid/threaded.rb', 行179 デフォルト client_ overwrite スレッド.Current[CLIENT_OVERRIDE_KEY] end |
クライアント_オーバーライド= (名前) = string = (name) = string | Symbol
グローバル クライアント オーバーライドを設定します。
191 192 193 |
# ファイル 'lib/mongoid/threaded.rb', 行191 デフォルト client_ overwrite=(name) スレッド.Current[CLIENT_OVERRIDE_KEY] = name end |
#current_scope ( klas = nil)===========================================================
現在の Mongoid スコープを取得します。
204 205 206 207 208 209 210 211 212 |
# ファイル 'lib/mongoid/threaded.rb', 行204 デフォルト current_scope(klass = nil) 場合 klass & & スレッド.Current[CURRENT_SCOPE_KEY].respond_to?(:keys) スレッド.Current[CURRENT_SCOPE_KEY][ スレッド.Current[CURRENT_SCOPE_KEY].キー.find { |k| k <= klass } ] else スレッド.Current[CURRENT_SCOPE_KEY] end end |
# current_scope= (スコープ) =============================================================================
現在の Mongoid スコープを設定します。
222 223 224 |
# ファイル 'lib/mongoid/threaded.rb', 行222 デフォルト current_scope=(scope) スレッド.Current[CURRENT_SCOPE_KEY] = scope end |
#database_override ⇒ String | Symbol
グローバル データベースの上書きを取得します。
57 58 59 |
# ファイル 'lib/mongoid/threaded.rb', 行57 デフォルト database_override スレッド.Current[DATABASE_OVERRIDE_KEY] end |
# database_overwrite= (name) = string | Symbol
グローバル データベース オーバーライドを設定します。
69 70 71 |
# ファイル 'lib/mongoid/threaded.rb', 行69 デフォルト database_override=(name) スレッド.Current[DATABASE_OVERRIDE_KEY] = name end |
#実行_コールバックs= (フラグ) =オブジェクト
現在のスレッドに対してドキュメント コールバックをデフォルトで呼び出すかどうかを示します。 個々のドキュメントはコールバックの動作をさらにオーバーライドする場合がありますが、これはデフォルトの動作に使用されます。
406 407 408 |
# ファイル 'lib/mongoid/threaded.rb', 行406 デフォルト execution_colbacks=(flag) スレッド.Current[EXECUTE_CALLBACKS] = flag end |
実行_コールバックの回数は? = true | false
ドキュメント コールバックを現在のスレッドでデフォルトで実行するかどうかをクエリします。
特に指定されていない限り(#execute_colbacks=)、これは true を返します。
392 393 394 395 396 397 398 |
# ファイル 'lib/mongoid/threaded.rb', 行392 デフォルト execution_colbacks? 場合 スレッド.Current.key?(EXECUTE_CALLBACKS) スレッド.Current[EXECUTE_CALLBACKS] else true end end |
を実行する数は? (name) = true
名前付きスタックの実行の途中である
81 82 83 |
# ファイル 'lib/mongoid/threaded.rb', 行81 デフォルト 実行中(name) !stack(name).空の場合 end |
終了_自動保存(ドキュメント) =オブジェクト
現在のスレッドでドキュメントの自動保存を終了します。
135 136 137 |
# ファイル 'lib/mongoid/threaded.rb', 行135 デフォルト exit_autosave(ドキュメント) autoss_for(ドキュメント.クラス).delete_one(ドキュメント._id) end |
# end_execution (name) = true
名前付きスレッド ローカル スタックから終了します。
93 94 95 |
# ファイル 'lib/mongoid/threaded.rb', 行93 デフォルト end_execution(name) stack(name).ポップ end |
end_validate (ドキュメント) =オブジェクト
現在のスレッド上のドキュメントの検証を終了します。
145 146 147 |
# ファイル 'lib/mongoid/threaded.rb', 行145 デフォルト end_validate(ドキュメント) validation_for(ドキュメント.クラス).delete_one(ドキュメント._id) end |
# end_Without_default_scope (klas) = オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
現在のスレッドで特定のモデルのデフォルト スコープの非表示を終了します。
169 170 171 |
# ファイル 'lib/mongoid/threaded.rb', 行169 デフォルト end_Without_default_scope(klass) stack(: without_default_scope).削除(klass) end |
#get_session(client: nil) ⇒ Mongo::Session | nil
下位互換性のために、次のなしでこのメソッドを呼び出すことができます:
クライアントのこのスレッドのキャッシュされたセッションを取得します。
'client` パラメーターを指定します。
343 344 345 |
# ファイル 'lib/mongoid/threaded.rb', 行343 デフォルト get_session(クライアント: nil) セッション[クライアント] end |
#modified_documents ==Hash=Mongo::Session, Set =Mongoid::Document=======================================================================
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
変更されたドキュメントのスレッド ストアを返します。
425 426 427 428 429 |
# ファイル 'lib/mongoid/threaded.rb', 行425 デフォルト scheduled_documents スレッド.Current[変更された_DOCUMENTS_KEY] ||= ハッシュ.新着情報 行う |h, k| h[k] = セット.新着情報 end end |
セッション=ハッシュ <Integer, Set>
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
セッションのスレッド ストアを返します。
415 416 417 |
# ファイル 'lib/mongoid/threaded.rb', 行415 デフォルト セッション スレッド.Current[SESSIONS_KEY] ||= {}.explain_by_ identity end |
# set_current_scope (scope、klas) =基準
現在の Mongoid スコープを設定します。 マルチモデルのスコープチェーンでも安全です。
235 236 237 238 239 240 241 242 |
# ファイル 'lib/mongoid/threaded.rb', 行235 デフォルト set_current_scope(scope, klass) 場合 scope.nil? unset_current_scope(klass) else スレッド.Current[CURRENT_SCOPE_KEY] ||= {} スレッド.Current[CURRENT_SCOPE_KEY][klass] = scope end end |
# set_session (セッション、クライアント: nil) =オブジェクト
下位互換性のために、次のなしでこのメソッドを呼び出すことができます:
クライアント用のこのスレッドのセッションをキャッシュします。
'client` パラメーターを指定します。
331 332 333 |
# ファイル 'lib/mongoid/threaded.rb', 行331 デフォルト set_session(セッション, クライアント: nil) セッション[クライアント] = セッション end |
#stack (名前)=配列
名前付きスタックを取得します。
105 106 107 |
# ファイル 'lib/mongoid/threaded.rb', 行105 デフォルト stack(name) スレッド.Current[STACK_KEY[name]] ||= [] end |
検証された回数(ドキュメント)= true| false
ドキュメントは現在のスレッドで検証されていますか?
276 277 278 |
# ファイル 'lib/mongoid/threaded.rb', 行276 デフォルト 検証されていますか?(ドキュメント) validation_for(ドキュメント.クラス).include?(ドキュメント._id) end |
#validations ⇒ Hash
現在のスレッドのすべての検証を取得します。
296 297 298 |
# ファイル 'lib/mongoid/threaded.rb', 行296 デフォルト validation スレッド.Current[VALIDATIONS_KEY] ||= {} end |
#validations_for(klass) ⇒ Array
クラスの現在のスレッドに関するすべての検証を取得します。
320 321 322 |
# ファイル 'lib/mongoid/threaded.rb', 行320 デフォルト validation_for(klass) validation[klass] ||= [] end |
では、_default_scope は(klas) = ブール値
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
指定されたクラスのデフォルトのスコープは現在のスレッドで非表示になっていますか。
252 253 254 |
# ファイル 'lib/mongoid/threaded.rb', 行252 デフォルト without_default_scope は(klass) stack(: without_default_scope).include?(klass) end |