クラス: Mongoid::AtlasUpdatePreparer Private

継承:
オブジェクト
  • オブジェクト
すべて表示
定義:
lib/mongoid/atomic_update_preparer.rb

Overview

このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。

アトミックな更新の属性の準備を支援する単一のクラス。

非推奨の Hash#__consloydate__ メソッドが完全に削除されると、これらのメソッドはプライベート メソッドとして Mongoid::Contextual::Mongo に移動される可能性があります。

クラスメソッドの概要を折りたたむ

クラスメソッドの詳細

。 preserve(属性、 klas )=ハッシュ

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

属性内のキーと値をアトミック アップデートのハッシュに変換します。 非演算子キーは $set 操作を使用することを想定します。

パラメーター:

  • klass クラス

    モデル クラス。

  • 属性 ハッシュ

    変換する属性。

次の値を返します。

  • ハッシュ

    準備されたアトミックな更新。



21
22
23
24
25
26
27
28
29
30
31
# ファイル 'lib/mongoid/アトミック_update_preparer.rb' 行21

デフォルト prepare(属性, klass)
  属性.each_pair.with_object({}) 行う |(キー, 価値), atomic_updates|
    キー = klass.database_field_name(キー.to_s)

    場合 キー.to_s.start_with?('$')
      (atomic_updates[キー] ||= {}).update(準備_操作(klass, キー, 価値))
    else
      (atomic_updates['$set'] ||= {})[キー] = mongoize_for(キー, klass, キー, 価値)
    end
  end
end