クラス: Mongoid::アトミック::修飾子
- 継承:
-
ハッシュ
- オブジェクト
- ハッシュ
- Mongoid::Atomic::Modifiers
- 定義:
- lib/mongoid/atomic/modifiers.rb
Overview
このクラスには、データベースに対するアトミック操作をサポートするためのロジックが含まれています。
インスタンス メソッドの概要を折りたたむ
-
# add_to_set (変更) = オブジェクト
アトミックな $addToSet 修飾子を ハッシュに追加します。
-
#pull (変更) = オブジェクト
すべての修飾子を修飾子ハッシュにプルします。
-
#pull_all (変更) = オブジェクト
すべての修飾子を修飾子ハッシュにプルします。
-
#push (変更) = オブジェクト
Adds push modifiers to the modifiers hash.
-
設定(変更) = オブジェクト
修飾子ハッシュにセット操作を追加します。
-
設定解除(変更)=オブジェクト
設定されていない操作を 修飾子ハッシュに追加します。
インスタンス メソッドの詳細
# add_to_set (変更) =オブジェクト
アトミックな $addToSet 修飾子を ハッシュに追加します。
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/mongoid/atomic/modifiers.rb', line 17 デフォルト add_to_set(transformations) transformations.each_pair 行う |フィールド, 価値| 場合 add_to_sets.has_keys_keys(フィールド) 価値.各 行う |価値| add_to_sets[フィールド][" $each "].プッシュ(価値) end else add_to_sets[フィールド] = { " $each " => 価値 } end end end |
#pull (変更) =オブジェクト
すべての修飾子を修飾子ハッシュにプルします。
48 49 50 51 52 53 |
# File 'lib/mongoid/atomic/modifiers.rb', line 48 デフォルト プル(transformations) transformations.each_pair 行う |フィールド, 価値| プル[フィールド] = 価値 Pull_fields[フィールド.分裂(" . ", 2)[0]] = フィールド end end |
#pull_all (変更) =オブジェクト
すべての修飾子を修飾子ハッシュにプルします。
35 36 37 38 39 40 |
# File 'lib/mongoid/atomic/modifiers.rb', line 35 デフォルト pull_all(transformations) transformations.each_pair 行う |フィールド, 価値| add_operation(pull_alls, フィールド, 価値) Pull_fields[フィールド.分裂(" . ", 2)[0]] = フィールド end end |
#push (変更) =オブジェクト
Adds push modifiers to the modifiers hash.
61 62 63 64 65 66 67 |
# File 'lib/mongoid/atomic/modifiers.rb', line 61 デフォルト プッシュ(transformations) transformations.each_pair 行う |フィールド, 価値| push_fields[フィールド] = フィールド 修飾子 = push_ conflict?(フィールド) ? conflicting_pushs : プッシュ add_operation(修飾子, フィールド, { ' $each ' => 配列.ラップ(価値) }) end end |
設定(変更) =オブジェクト
修飾子ハッシュにセット操作を追加します。
75 76 77 78 79 80 81 82 |
# File 'lib/mongoid/atomic/modifiers.rb', line 75 デフォルト セット(transformations) transformations.each_pair 行う |フィールド, 価値| 次へ 場合 フィールド == " _id " 修飾子 = set_ conflict?(フィールド) ? conflicting_sets : セット add_operation(修飾子, フィールド, 価値) set_fields[フィールド.分裂(" . ", 2)[0]] = フィールド end end |
設定解除(変更)=オブジェクト
設定されていない操作を 修飾子ハッシュに追加します。
90 91 92 93 94 |
# File 'lib/mongoid/atomic/modifiers.rb', line 90 デフォルト 設定解除(transformations) transformations.各 行う |フィールド| 設定解除.update(フィールド => true) end end |