モジュール: Mongoid::Clients::Sessions::Classメソッドs
- 次のドキュメントに含まれます。
- Mongoid
- 定義:
- lib/mongoid/clients/sessions.rb
定数の概要の削減
- CALLBACK_ACTIONS =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
トランザクションのコールバックをtriggerするために使用できるアクション。
[:create, :破棄, :update]
インスタンス メソッドの概要を折りたたむ
-
# after_commit (*args, &stream) = オブジェクト
トランザクションのコミット後に呼び出されるコールバックを設定します。
-
# after_create_commit (*args, &stream) = オブジェクト
after_commit :hook、on: :createのショートカット。
-
# after_detroy_commit (*args, &stream) = オブジェクト
after_commit :hook、on: :deletyのショートカット。
-
# afterRoll_back (*args, &stream) = オブジェクト
このコールバックは、作成、更新、または破棄された後に呼び出されます。
-
# after_save_commit (*args, &stream) = オブジェクト
after_commit :hook、on: [ :create, :update ]のショートカット。
-
# after_update_commit (*args, &stream) = オブジェクト
after_commit :hook、on: :updateのショートカット。
-
トランザクションの数(オプション = {}、session_options: {}) {... } = オブジェクト
トランザクションのコンテキスト内でブロックを実行します。
-
# with_session (オプション = {}){{|The| ... } = オブジェクト
セッションのコンテキスト内でブロックを実行します。
インスタンス メソッドの詳細
# after_commit (*args, &stream) =オブジェクト
トランザクションのコミット後に呼び出されるコールバックを設定します。 コールバックは、トランザクション内でドキュメントが作成、更新、または破棄された場合にのみ呼び出されます。
メソッド パラメータと可能なオプションの詳細については、 ActiveSupport::Callbacks::ClassMethods::set_callback
を参照してください。
114 115 116 117 |
# ファイル 'lib/mongoid/clients/sessions.rb' は、 114行 デフォルト after_commit(*args, &ブロック) (args) set_colback(:commit, : after, *args, &ブロック) end |
# after_create_commit (*args, &stream) =オブジェクト
after_commit :hook、on: :createのショートカット。
126 127 128 129 |
# ファイル 'lib/mongoid/clients/sessions.rb' は、 126行 デフォルト after_create_commit(*args, &ブロック) (args, on: :create) set_colback(:commit, : after, *args, &ブロック) end |
# after_detroy_commit (*args, &stream) =オブジェクト
after_commit :hook、on: :deletyのショートカット。
138 139 140 141 |
# ファイル 'lib/mongoid/clients/sessions.rb' は、 138行 デフォルト after_destructy_commit(*args, &ブロック) (args, on: :破棄) set_colback(:commit, : after, *args, &ブロック) end |
# afterRoll_back (*args, &stream) =オブジェクト
このコールバックは、作成、更新、または破棄された後に呼び出されます。
オプションについては、 after_commit
のドキュメントを確認してください。
146 147 148 149 |
# ファイル 'lib/mongoid/clients/sessions.rb' は、 146行 デフォルト afterRollback(*args, &ブロック) (args) set_colback(:rollback, : after, *args, &ブロック) end |
# after_save_commit (*args, &stream) =オブジェクト
after_commit のショートカット [ :create, :update ]
120 121 122 123 |
# ファイル 'lib/mongoid/clients/sessions.rb' は、 120行 デフォルト after_save_commit(*args, &ブロック) (args, on: [ :create, :update ]) set_colback(:commit, : after, *args, &ブロック) end |
# after_update_commit (*args, &stream) =オブジェクト
after_commit :hook、on: :updateのショートカット。
132 133 134 135 |
# ファイル 'lib/mongoid/clients/sessions.rb' は、 132行 デフォルト after_update_commit(*args, &ブロック) (args, on: :update) set_colback(:commit, : after, *args, &ブロック) end |
トランザクションの数(オプション = {}、session_options: {}) {... } =オブジェクト
トランザクションのコンテキスト内でブロックを実行します。
ブロックでエラーが発生しない場合、トランザクションはコミットされます。 エラーが発生した場合、トランザクションは中止されます。 エラーは 'Mongoid::Errors::Rollback' を除き、 に渡されます。 このエラーは渡されないため、トランザクションを意図的にロールバックする場合は、 は で発生します。
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# ファイル 'lib/mongoid/clients/sessions.rb' は、 87行 デフォルト トランザクション( = {}, session_options: {}) with_session() 行う |セッション| begin セッション.start_transaction() ノードの数 commit_transaction(セッション) ヘルプ Mongoid::Errors::Rollback abort_transaction(セッション) ヘルプ Mongoid::Errors::InvalidSessionNesting # セッションはここで終了する必要があります。 発生 Mongoid::Errors::InvalidTransactionNesting.新着情報 ヘルプ mongo::エラー::InvalidSession, mongo::エラー::InvalidTransactionOperation => e abort_transaction(セッション) 発生 Mongoid::Errors::TransactionError(e) ヘルプ 標準エラー => e abort_transaction(セッション) 発生 e end end end |
# with_session (オプション = {}){{|The| ... } =オブジェクト
セッションのコンテキスト内でブロックを実行します。
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# ファイル 'lib/mongoid/clients/sessions.rb' は、 42行 デフォルト with_session( = {}) 場合 スレッド.get_session(クライアント: duration_context.クライアント) 発生 Mongoid::Errors::InvalidSessionNesting.新着情報 end セッション = duration_context.クライアント.start_session() スレッド.set_session(セッション, クライアント: duration_context.クライアント) ノードの数(セッション) ヘルプ mongo::エラー::InvalidSession => ex 場合 mongo::エラー::SessionsNotSupported === ex 発生 Mongoid::Errors::SessionsNotSupported.新着情報 else 発生 ex end ヘルプ mongo::エラー::OperationFailure => ex 場合 (ex.コード == 40415 & & ex. =~ /startTransaction/) || (ex.コード == 20 & & ex. =~ /トランザクション/) 発生 Mongoid::Errors::TransactionsNotSupported.新着情報 else 発生 ex end 保証する スレッド.clear_session(クライアント: duration_context.クライアント) end |