モジュール: Mongoid::Matcher::Bits Private

次のドキュメントに含まれます。
BitsAllClear, BitsAllSet, BitsAnyClear, BitsAnySet
定義:
lib/mongoid/matcher/bits.rb

Overview

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

ビット単位の式マッチャーに含まれる混合モジュール。

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

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

クラスメソッドの詳細

Operator_name = string

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

式演算子の名前を返します。

次の値を返します。

  • ( string )

    演算子名。



55
56
57
# ファイル 'lib/mongoid/matcher/bits.rb', 行55

MongoDB_function デフォルト Operator_name
  name.サブ(/.*::/, '').サブ(/ $A(.) /) { |l| l.ダウンケース }
end

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

一致する回数(存在、値、条件)= true| false

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

値がビット式を満たすかどうかを返します。

パラメーター:

  • exists true | false

    使用されません。

  • 価値 オブジェクト

    確認する値。

  • 条件 数値 | Array<Numeric>

    式述語は、ビットマスクまたは位置リストとして。

次の値を返します。

  • true | false

    値が一致するかどうか。



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# ファイル 'lib/mongoid/matcher/bits.rb', 行20

デフォルト 一致するかどうか(exists, 価値, 条件)
  ケース 価値
  次の場合: BSON::バイナリ
    価値 = 価値.データ.分裂('').map { |n| '%02x' % n.または }.join.to_i(16)
  end
  ケース 条件
  次の場合: 配列
    array_matches?(価値, 条件)
  次の場合: BSON::バイナリ
    int_cond = 条件.データ.分裂('').map { |n| '%02x' % n.または }.join.to_i(16)
    int_matches?(価値, int_cond)
  次の場合: 整数
    場合 条件 < 0
      発生 Errors::InvalidQuery, " $ #{ Operator_name }引数の無効な値: 負の整数は許可されません: #{条件} "
    end
    int_matches?(価値, 条件)
  次の場合: Float
    場合 (int_cond = 条件.to_i).to_f == 条件
      場合 int_cond < 0
        発生 Errors::InvalidQuery, " $ #{ Operator_name }引数の無効な値です。負の数は許可されません: #{条件} "
      end
      int_matches?(価値, int_cond)
    else
      発生 Errors::InvalidQuery, " $ #{ Operator_name }引数の型が無効です: 整数として表現できません: #{条件} "
    end
  else
    発生 Errors::InvalidQuery, " $ #{ Operator_name }引数の型は無効です: #{条件} "
  end
end