モジュール: Mongoid::InterAcceptable
Overview
このモジュールには、Mongoid のすべてのコールバック フックが含まれています。
定数の概要の削減
- コールバック =
[ : after_Build, : after_create, : after_detroy, : after_find, : after_initialize, : after_save, : after_tool, : after_update, : after_upsert, : after_validation, :round_create, :round_detroy, :round_save, :round_update, :round_upsert, :Before_create, :Before_detroy, :Before_save, :Before_update, :Before_upsert, :Before_validation, ].freeze
インスタンス メソッドの概要を折りたたむ
-
#_mongoid_run_field_After_colbacks (colback_list: []) = オブジェクト
コールバック後に実行します。
-
#_mongoid_run_field_Before_ Callbacks (種類、子: []、colback_list: []) = オブジェクト
private
埋め込みドキュメントに対して特定の種類のコールバックの前に実行します。
-
# _mongoid_run_ String_colbacks (種類、子: nil、 & ブロック) = オブジェクト
private
埋め込みドキュメントのコールバックを実行します。
-
#_mongoid_run_ String_colbacks_with_round (種類、子: nil、 & ブロック) = オブジェクト
周囲のコールバックを含む埋め込みドキュメントに対して、特定の種類のコールバックを実行します。
-
#_mongoid_run_ String_colbacks_confirm
private
埋め込みドキュメントの特定の種類のコールバックを、周囲のコールバックなしで実行します。
-
Callback_executable? (種類) → true | false
提供されたコールバックのタイプは、このドキュメントで実行可能かどうか。
-
in_呼び出す_状態は? (種類) → true | false
ドキュメントは現在、コールバックの実行が必要になる可能性のある状態ではありますか。
-
#pending_calbacks = 配列= インポート<Symbol>
private
後で実行する保存されたコールバックを返します。
-
# pending_calbacks= (value) = (value) = (value) ======= =============================================================================================================<Symbol>
private
後で実行するコールバックを保存します。
-
# run_ after_colbacks (* 種類) = オブジェクト
特定のイベントの後のコールバックのみを実行します。
-
# run_from
特定のイベントのコールバックの前に のみを実行します。
-
# run_colbacks (種類、with_fielden: true、skip_if: nil、=============================================
ドキュメントのコールバックを実行します。
-
# run_pending_colbacks =オブジェクト
private
保留中のコールバックを実行します。
インスタンス メソッドの詳細
#_mongoid_run_field_After_colbacks (colback_list: []) =オブジェクト
コールバック後に実行します。
244 245 246 247 248 249 |
# ファイル 'lib/mongoid/Inter Opsable.rb' 行244 デフォルト _mongoid_run_field_After_colbacks(Callback_list: []) Callback_list.verse_each 行う |next_Sequence, env| next_Sequence.invoice_ after(env) return false 場合 env.停止しました end end |
#_mongoid_run_field_Before_ Callbacks (種類、子: []、colback_list: []) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
埋め込みドキュメントに対して特定の種類のコールバックの前に実行します。
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 |
# ファイル 'lib/mongoid/Inter Opsable.rb' 行220 デフォルト _mongoid_run_field_Before_ Callbacks(kind, 子: [], Callback_list: []) 子.各 行う |子| 連鎖 = 子.__ Callbacks[event_colback_type(kind, 子)] env = ActiveSupport::コールバック::フィルター::environment.新着情報(子, false, nil) next_Sequence = convert_colbacks(連鎖) ただし、 next_Sequence.最終的には? Mongoid.logger.WARN(" 埋め込みドキュメントでは、約 コールバックは無効になっています。 #{ 子 . クラス . 名前 } のコールバックをスキップし ます 。) Mongoid.logger.WARN("埋め込みドキュメントのアラート コールバックを有効にするには、 Mongoid::Config.round_changes_for_ embeddeds を true に設定します。 ") end next_Sequence.invoice_Before(env) return false 場合 env.停止しました env.価値 = !env.停止しました Callback_list < [next_Sequence, env] 場合 (祖先 = 子.送信(:scalaable_fielden, kind)) _mongoid_run_field_Before_ Callbacks(kind, 子: 祖先, Callback_list: Callback_list) end end Callback_list end |
# _mongoid_run_ String_colbacks (種類、子: nil、 & ブロック) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
埋め込みドキュメントのコールバックを実行します。
153 154 155 156 157 158 159 |
# ファイル 'lib/mongoid/Inter Opsable.rb' 行153 デフォルト _mongoid_run_field_colbacks(kind, 子: nil, &ブロック) 場合 Mongoid::Config. _mongoid_run_ String_colbacks_with_round(kind, 子: 子, &ブロック) else _mongoid_run_ String_colbacks_Without_round(kind, 子: 子, &ブロック) end end |
#_mongoid_run_ String_colbacks_with_round (種類、子: nil、 & ブロック) =オブジェクト
このメソッドは、ドキュメントに多数の埋め込みドキュメントがある場合、 Stack Overflowエラーが発生する可能性があります。 適切なソリューションが実装されるまで、埋め込みドキュメントにコールバックを使用しないようにすることをお勧めします。
周囲のコールバックを含む埋め込みドキュメントに対して、特定の種類のコールバックを実行します。
175 176 177 178 179 180 181 182 183 184 185 186 187 |
# ファイル 'lib/mongoid/Inter Opsable.rb' 行175 デフォルト _mongoid_run_ String_colbacks_with_round(kind, 子: nil, &ブロック) 子, *追尾 = (子 || cascalable_fielden(kind)) with_fielden = !Mongoid::Config. 場合 子.nil? ブロック&.を呼び出す elsif 追尾.空の場合 子.run_colbacks(event_colback_type(kind, 子), with_fielden: with_fielden, &ブロック) else 子.run_colbacks(event_colback_type(kind, 子), with_fielden: with_fielden) 行う _mongoid_run_ String_colbacks_with_round(kind, 子: 追尾, &ブロック) end end end |
#_mongoid_run_ String_colbacks_confirm
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
埋め込みドキュメントの特定の種類のコールバックを、周囲のコールバックなしで実行します。
198 199 200 201 202 203 204 205 206 207 208 209 |
# ファイル 'lib/mongoid/Inter Opsable.rb' 行198 デフォルト _mongoid_run_ String_colbacks_Without_round(kind, 子: nil, &ブロック) 子 = (子 || cascalable_fielden(kind)) Callback_list = _mongoid_run_field_Before_ Callbacks(kind, 子: 子) return false 場合 Callback_list == false 価値 = ブロック&.を呼び出す Callback_list.各 行う |_next_Sequence, env| env.価値 &= 価値 end return false 場合 _mongoid_run_field_After_colbacks(Callback_list: Callback_list) == false 価値 end |
Callback_executable? (種類) → true | false
提供されたコールバックのタイプは、このドキュメントで実行可能かどうか。
62 63 64 |
# ファイル 'lib/mongoid/Inter Opsable.rb' 行62 デフォルト Callback_executable?(kind) respond_to?(" _ #{種類} _呼び出すと ") end |
in_呼び出す_状態は? (種類) → true | false
ドキュメントは現在、コールバックの実行が必要になる可能性のある状態ではありますか。
75 76 77 |
# ファイル 'lib/mongoid/Inter Opsable.rb' 行75 デフォルト in_colback_rate(kind) [ :create, :破棄 ].include?(kind) || new_record? || phrase || 変更されたか end |
#pending_calbacks = 配列 = インポート<Symbol>
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
後で実行する保存されたコールバックを返します。
256 257 258 |
# ファイル 'lib/mongoid/Inter Opsable.rb' 行256 デフォルト Pending_colbacks @pending_colbacks ||= [].to_set end |
# pending_calbacks= (value) = (value) = (value) ======= =============================================================================================================<Symbol>
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
後で実行するコールバックを保存します。 これの良いユースケースは、関連付けがドキュメントに設定されるまで、 after_find と after_initialize コールバックを遅延させることです。 これは、ドキュメントへのデフォルトの適用を遅延させる目的でも使用できます。
270 271 272 |
# ファイル 'lib/mongoid/Inter Opsable.rb' 行270 デフォルト Pending_colbacks=(価値) @pending_colbacks = 価値 end |
# run_ after_colbacks (* 種類) =オブジェクト
ActiveSupport では、デフォルトではこのタイプの動作は許可されていないため、Mongoid はそれを回避して自分自身を実装する必要があります。
特定のイベントの後のコールバックのみを実行します。
90 91 92 93 94 |
# ファイル 'lib/mongoid/Inter Opsable.rb' 行90 デフォルト run_ after_colbacks(*kinds) kinds.各 行う |kind| run_ targeted_colbacks(: after, kind) end end |
# run_from
ActiveSupport では、デフォルトではこのタイプの動作は許可されていないため、Mongoid はそれを回避して自分自身を実装する必要があります。
特定のイベントのコールバックの前に のみを実行します。
107 108 109 110 111 |
# ファイル 'lib/mongoid/Inter Opsable.rb' 行107 デフォルト run_Before_ Callbacks(*kinds) kinds.各 行う |kind| run_ targeted_colbacks(:Before, kind) end end |
# run_colbacks (種類、with_fielden: true、 skip_if : nil、=============================================
ドキュメントのコールバックを実行します。 これにより、アクティブなサポートの機能がオーバーライドされ、フラグが付けられた埋め込みドキュメントへのコールバックがカスケードできます。
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
# ファイル 'lib/mongoid/Inter Opsable.rb' 行127 デフォルト run_colbacks(kind, with_fielden: true, skip_if: nil, &ブロック) 場合 skip_if&.を呼び出す return ブロック&.を呼び出す end 場合 with_fielden cascalable_fielden(kind).各 行う |子| 場合 子.run_colbacks(event_colback_type(kind, 子), with_fielden: with_fielden) == false return false end end end 場合 Callback_executable?(kind) スーパー(kind, &ブロック) else true end end |
# run_pending_colbacks =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
保留中のコールバックを実行します。 コールバックが :apply_defaults の場合、このドキュメントにデフォルトを適用します。 それ以外の場合、コールバックは run_colbacks 関数に渡されます。
279 280 281 282 283 284 285 286 287 288 |
# ファイル 'lib/mongoid/Inter Opsable.rb' 行279 デフォルト run_pending_shellbacks Pending_colbacks.各 行う |cb| 場合 [:apply_defaults, :apply_post_processed_defaults].include?(cb) 送信(cb) else 自己.run_colbacks(cb, with_fielden: false) end end Pending_colbacks.クリア end |