モジュール: Mongoid::Persistable
- 次による拡張機能。
- ActiveSupport::Concern
- 次のドキュメントに含まれます。
- 構成可能
- 定義:
- build/mongoid- 8.1 /lib/mongoid/persistable.rb 、
build/mongoid- 8.1 /lib/mongoid/persistable/ logical.rb、
build/mongoid- 8.1 /lib/mongoid/persistable/lasable.rb、
build/mongoid- 8.1 /lib/mongoid/persistable/popable.rb、
build/mongoid- 8 . 1 /lib/mongoid/persistable/pullable.rb、
build/mongoid- 8 . 1 /lib/mongoid/persistable/pushable.rb、
build/mongoid- 8 . 1 /lib/mongoid/persistable/settable.rb、
build/mongoid- 8 . 1 /lib/mongoid/persistable/creatable.rb、
build/mongoid- 8 . 1 /lib/mongoid/persistable/deletable.rb、
build/mongoid- 8 . 1 /lib/mongoid/persistable/renameable.rb、
build/mongoid- 8 . 1 /lib/mongoid/persistable/updatable.rb、
build/mongoid- 8 . 1 /lib/mongoid/persistable/unsettable.rb、
build/mongoid- 8 . 1 /lib/mongoid/persistable/upsertable.rb、
build/mongoid- 8 . 1 /lib/mongoid/persistable/detryable.rb、
build/mongoid- 8 . 1 /lib/mongoid/persistable/incrementable.rb
Overview
永続化操作の一般的な動作が含まれています。
名前空間で定義済み
Modules: 作成 可能 、 削除可能 、 破棄 可能 、 増分 可能 、 論理 、 ポップ 可能 、 プル 可能 、 プッシュ 可能 、 変更 可能 、 保存可能 、 設定可能 、 設定 不可 、 更新 可能 、 アップ サート 可能
定数の概要の削減
- LEST_OPERATIONS =
db 内の配列またはセットを取り扱うアトミック操作。
[ "$addToSet", " $push ", " $pull ", " $pullAll " ].freeze
インスタンス メソッドの概要を折りたたむ
-
アトミックに(join_context: nil)=true| false
ブロック内で発生するすべてのことに対してアトミックに(単一のデータベース呼び出し内で)操作を実行します。
-
#fail_due_to_customback (メソッド) = オブジェクト
コールバックが失敗した場合はエラーが発生します。
-
次は、 fail_due_to_validation です。 = オブジェクト
検証に失敗した場合はエラーが発生します。
Unsetableに含まれるメソッド
アップサート可能に含まれるメソッド
更新可能に含まれるメソッド
#update, #update!, #update_attribute
Settableに含まれるメソッド
Saveableに含まれるメソッド
[Renameable ]に含まれるメソッド
プッシュ可能な に含まれるメソッド
Pullableに含まれるメソッド
位置から含まれるメソッド
popableに含まれるメソッド
論理演算子に含まれるメソッド
インクリメント可能に含まれるメソッド
破棄可能な に含まれるメソッド
Deleteableに含まれるメソッド
作成可能に含まれるメソッド
インスタンス メソッドの詳細
アトミックに(join_context: nil)= true| false
ブロック内で発生するすべてのことに対してアトミックに(単一のデータベース呼び出し内で)操作を実行します。 このメソッドでは、 へのさらなる呼び出しがアトミックにネストされます。これは以下に記載されているオプションに従って動作します。
join_context というオプションを指定できます。これが true の場合、指定されたブロックによって宣言された操作と、同じドキュメントの現在の呼び出しをラップするアトミック ブロック(存在する場合)をマージします。 このブロックまたは同じコンテキストを共有する他のブロックが永続化する前に発生すると、そのコンテキストのすべての操作は永続化されず、メモリ内でリセットされます。
join_context が false の場合、指定された操作のブロックは他のコンテキストとは独立して永続化されます。 このブロックが変更を実行し永続化できる限り、他のコンテキストでの障害はこのコンテキストに影響しません。
join_context のデフォルト値はグローバル構成オプション join_contexts によって設定され、独自のデフォルト値は false です。
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
ファイル ' build/mongoid- 8.1 /lib/mongoid/persable.rb ', 行87 デフォルト アトミックに(join_context: nil) join_context = Mongoid.join_contexts 場合 join_context.nil? Call_ Depth = @アトミック_深度 ||= 0 has_own_context = Call_ Depth.zero? || !join_context @atomic_updates_to_execute_stack ||= [] _mongoid_push_atomic_context 場合 has_own_context 場合 ブロック_指定 @アトミック_深度 += 1 ノードの数(自己) @アトミック_深度 -= 1 end 場合 has_own_context 永続性_アトミック_操作 @atomic_context _mongoid_remove_アトミック_context_changes end true ヘルプ 例外 => e _mongoid_reset_アトミック_context_changes 場合 has_own_context 発生 e 保証する _mongoid_pop_アトミック_context 場合 has_own_context 場合 Call_ Depth.zero? @アトミック_深度 = nil @atomic_updates_to_execute_stack = nil end end |