クラス: Mongoid::Criteria::Queryable::Selector
- 定義:
- lib/mongoid/criteria/queryable/selector.rb
Overview
セレクターは、取り込まれる値を直列化する方法、およびキー名のエイリアスとロケールを認識する特殊な種類のハッシュです。
インスタンス属性の概要
Smashから継承された属性
#allased_asし、 、 #エイリアス、 #エイリアス エイリアス。 、 の関連付け、の関連付け、 #serializer 、 #serializer シリアライザー。
インスタンス メソッドの概要を折りたたむ
-
# merge。 (その他) = セレクター
別のセレクターをこのセレクターにマージします。
-
#ストア(キー、値) = オブジェクト(また: #[]=)
指定されたキーの セレクター に値を保存します。
-
#to_pipeline ⇒ Array<Hash>
セレクターを 集計パイプライン エントリに変換する
Smashから継承されたメソッド
#[] 、 _deep_ copy__ 、# initialize
コンストラクターの詳細
このクラスは、 Mongoid::Criteria::Queryable::Smashからコンストラクターを継承します。
インスタンス メソッドの詳細
# merge。 (その他) =セレクター
別のセレクターをこのセレクターにマージします。
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# ファイル 'lib/mongoid/criteria/queryable/selector.rb' は、 20行 デフォルト mergeします。(その他) その他.each_pair 行う |キー, 価値| 場合 価値.is_a?(ハッシュ) & & 自己[キー.to_s].is_a?(ハッシュ) 価値 = 自己[キー.to_s].merge(価値) 行う |_key, old_val, new_val| ケース _key.to_s 次の場合: '$in' new_val & old_val 次の場合: '$nin' (old_val + new_val).一意 else new_val end end end 場合 multi_Selection?(キー) 価値 = (自己[キー.to_s] || []).concat(価値) end store(キー, 価値) end end |
#store (キー、値)==オブジェクト: []=
指定されたキーの セレクター に値を保存します。 セレクターは、必要な直列化とローカライズをすべて処理します。
51 52 53 54 55 56 57 58 59 60 |
# ファイル 'lib/mongoid/criteria/queryable/selector.rb' は、 51行 デフォルト store(キー, 価値) name, シリアライザー = ストレージ_ペア(キー) 場合 multi_Selection?(name) Store_name = name store_value = evolve_multi(価値) else Store_name, store_value = store_creds(name, シリアライザー, 価値) end スーパー(Store_name, store_value) end |
#to_pipeline ⇒ Array<Hash>
セレクターを 集計パイプライン エントリに変換する
69 70 71 72 73 |
# ファイル 'lib/mongoid/criteria/queryable/selector.rb' は、 69行 デフォルト to_ pipeline パイプライン = [] パイプライン.プッシュ({ " $match " => 自己 }) ただし、 空の場合 パイプライン end |