モジュール: Mongoid::Persistable::論理

次による拡張機能。
ActiveSupport::Concern
次のドキュメントに含まれます。
Mongoid::Persistable
定義:
build/mongoid- 8.1 /lib/mongoid/persistable/ logical.rb

Overview

論理ビット単位の演算の動作を定義します。

インスタンス メソッドの概要を折りたたむ

インスタンス メソッドの詳細

#ビット(操作) =ドキュメント

順番に実行されるビットごとの操作の提供されたハッシュを使用して、 フィールドに対してアトミック $bit 操作を実行します。

例:

ビット単位の 演算を実行します。

person.bit(age: { :and => 12 }, val: { and: 10, or: 12 })

パラメーター:

  • 操作 ハッシュ

    ビット単位の 演算。

次の値を返します。



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
ファイル 'Build/mongoid- 8.1 /lib/mongoid/persistable/ logical.rb ', 行19

デフォルト ビット(操作)
  準備_アトミック_操作 行う |ops|
    Process_アトミック_操作(操作) 行う |フィールド, values|
      価値 = 属性[フィールド]
      values. 行う |op, 価値|
        価値 = 価値 & 価値 場合 op.to_s == ""
        価値 = 価値 | 価値 場合 op.to_s == "または"
      end
      process_attribute フィールド, 価値 場合 execution_アトミックに実行するか?
      属性[フィールド] = 価値
      ops[アトミック_attribute_name(フィールド)] = values
    end
    { " $bit " => ops } ただし、 ops.空の場合
  end
end