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

定義:
lib/mongoid/matcher/type.rb

Overview

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

$type 式のメモリ内マッチャー。

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

クラスメソッドの詳細

。一致するかどうか(存在、値、条件)= true| false 、ブール値

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

値が $type 式を満たすかどうかを返します。

パラメーター:

  • exists ( true | false ) —

    値が存在するかどうか。

  • 価値 (オブジェクト) —

    確認する値。

  • 条件 ( 整数 | 配列<Integer> ) —

    BSON 型の列挙に対応する $type 条件述語。

次の値を返します。

  • ( true | false ) —

    値が一致するかどうか。

  • (ブール値)


19
20
21
22
23
24
25
26
27
28
29
30
31
32
# ファイル 'lib/mongoid/matcher/type.rb' は、 19行

MongoDB_function デフォルト 一致するかどうか(exists, 価値, 条件)
  条件 = ケース 条件
               次の場合: 配列
                 条件
               次の場合: 整数
                 [ 条件 ]
               else
                 発生 Errors::InvalidQuery, "不明な $type 引数: #{条件} "
               end
  条件.各 行う |条件|
    return true 場合 one_matches?(exists, 価値, 条件)
  end
  false
end

。 one_matches? (存在、値、条件)= true| false 、ブール値

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

値が単一の $type 式値を満たすかどうかを返します。

パラメーター:

  • exists ( true | false ) —

    値が存在するかどうか。

  • 価値 (オブジェクト) —

    確認する値。

  • 条件 (整数) —

    BSON 型の列挙に対応する $type 条件述語。

次の値を返します。

  • ( true | false ) —

    値が一致するかどうか。

  • (ブール値)


45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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
# ファイル 'lib/mongoid/matcher/type.rb' は、 45行

MongoDB_function デフォルト one_matches?(exists, 価値, 条件)
  ケース 条件
  次の場合: 1
    double
    価値.is_a?(Float)
  次の場合: 2
    string
    価値.is_a?(文字列)
  次の場合: 3
    # オブジェクト
    価値.is_a?(ハッシュ)
  次の場合: 4
    # 配列
    価値.is_a?(配列)
  次の場合: 5
    # バイナリ データ
    価値.is_a?(BSON::バイナリ)
  次の場合: 6
    #Undefined
    価値.is_a?(BSON::未定義)
  次の場合: 7
    # ObjectId
    価値.is_a?(BSON::ObjectId)
  次の場合: 8
    # ブール値
    価値.is_a?(TrueClass) || 価値.is_a?(FalseClass)
  次の場合: 9
    # 日付
    価値.is_a?(日付) || 価値.is_a?(時間) || 価値.is_a?(日時)
  次の場合: 10
    #null
    exists & & 価値.is_a?(nilClass)
  次の場合: 11
    # 正規表現
    価値.is_a?(Regexp::Raw) || 価値.is_a?(::Regexp)
  次の場合: 12
    DBPointer は非推奨
    価値.is_a?(BSON::DBポインタ)
  次の場合: 13
    # JavaScript
    価値.is_a?(BSON::コード)
  次の場合: 14
    # Symbolは非推奨
    価値.is_a?(シンボル) || 価値.is_a?(BSON::シンボル::Raw)
  次の場合: 15
    コードが非推奨のJavaScript
    価値.is_a?(BSON::CodeWithScopes)
  次の場合: 16
    # 32ビット整数
    価値.is_a?(BSON::Int32) || (価値.is_a?(整数) & & (-2**32..(2**32) - 1).include?(価値))
  次の場合: 17
    # タイムスタンプ
    価値.is_a?(BSON::タイムスタンプ)
  次の場合: 18
    # Long
    価値.is_a?(BSON::Int64) ||
      (価値.is_a?(整数) & &
        (-2**64..(2**64) - 1).include?(価値) & &
        !(-2**32..(2**32) - 1).include?(価値))
  次の場合: 19
    小数点
    価値.is_a?(BSON::Decimal128)
  次の場合: -1
    # minKey
    価値.is_a?(BSON::MinKey)
  次の場合: 127
    # maxKey
    価値.is_a?(BSON::Max key)
  else
    発生 Errors::InvalidQuery, "不明な $type 引数: #{条件} "
  end
end