モジュール: Mongoid::criteria::Scopable
- 次のドキュメントに含まれます。
- Mongoid::Criteria
- 定義:
- lib/mongoid/criteria/scopable.rb
Overview
Mongoid::Criteria に含まれる混合モジュールで、デフォルトのクエリ スコープと名前付きスコープに関連する機能を追加します。
インスタンス メソッドの概要を折りたたむ
-
#apply_default_scope ⇒ Criteria
デフォルトのスコープを基準に適用します。
-
# apply_scope (スコープ)==条件
private
現在の基準にスコープを適用します。
-
#remove_scoping (その他) = 基準
別の基準が指定されている場合は、この基準から他の基準のスコープを削除します。
-
スコープ付き(オプション = nil)=nil)=============================================================================
スコープが設定されていないブロック内にない限り、基準を強制的にスコープ設定します。
-
スコープ付き= true | false
基準にデフォルトのスコープは適用されましたか。
-
# scopeing_options =配列
基準のスコープ オプションを ペア(スコープ付き、スコープなし)として取得します。
-
# sスコープ_オプション= (オプション) = (オプション) = 配列
基準のスコープ オプションをペア(スコープ付き、スコープなし)として設定します。
-
スコープが設定されていない = Criteria
基準からすべてのスコープをクリアします。
-
スコープが設定されていない場合= true | false
基準はスコープが解除されていますか。
-
# with_default_scope ] =基準
デフォルトのスコープを適用できる場合は、デフォルトのスコープが適用された基準を取得します。
インスタンス メソッドの詳細
#apply_default_scope ⇒ Criteria
デフォルトのスコープを基準に適用します。
15 16 17 18 19 20 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行15 デフォルト apply_default_scope klass.without_default_scope 行う mergeします。(klass.default_scoping.を呼び出す) end 自己. = true, false end |
# apply_scope (スコープ) ~基準(
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
現在の基準にスコープを適用します。
このメソッドはレシーバーを変更しませんが、 引数に応じて新しいオブジェクトまたはレシーバーが返される場合があります。 scope引数が nil の場合、レシーバーは変更されずに返され、それ以外の場合は新しい基準オブジェクトが返されます。
34 35 36 37 38 39 40 41 42 43 44 45 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行34 デフォルト apply_scope(scope) ケース scope 次の場合: Proc instance_exec(&scope) 次の場合: シンボル 送信(scope) 次の場合: 条件 merge(scope) else 自己 end end |
#remove_scoping (その他) =基準
別の基準が指定されている場合は、この基準から他の基準のスコープを削除します。
56 57 58 59 60 61 62 63 64 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行56 デフォルト delete_scoping(その他) 場合 その他 拒否_一致(その他, : セレクター, :options) その他.includes.各 行う || includes.delete_one() end end 自己 end |
スコープ付き(オプション = nil)=nil) =============================================================================
スコープが設定されていないブロック内にない限り、基準を強制的にスコープ設定します。
74 75 76 77 78 79 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行74 デフォルト scoped( = nil) crit = 複製 crit..mergeします。( || {}) crit.apply_default_scope 場合 klass.default_scopable? & & !スコープ付き crit end |
スコープ付き= true | false
基準にはデフォルトのスコープが適用されましたか。
87 88 89 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行87 デフォルト スコープ付き !!(定義済み?(@scoped) ? @scoped : nil) end |
# scopeing_options =配列
基準のスコープ オプションを ペア(スコープ付き、スコープなし)として取得します。
123 124 125 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行123 デフォルト [ (定義済み?(@scoped) ? @scoped : nil), (定義済み?(@unscoped) ? @unscoped : nil) ] end |
# sスコープ_オプション= (オプション) = (オプション) =配列
基準のスコープ オプションをペア(スコープ付き、スコープなし)として設定します。
135 136 137 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行135 デフォルト () @scoped, @unscoped = end |
スコープ が設定されていない = Criteria
基準からすべてのスコープをクリアします。
97 98 99 100 101 102 103 104 105 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行97 デフォルト スコープが設定されていない crit = 複製 ただし、 スコープが設定されていないか crit. = false, true crit.セレクター.クリア crit..クリア end crit end |
スコープが設定されていない場合 = true | false
基準はスコープが設定されていませんか。
113 114 115 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行113 デフォルト スコープが設定されていないか !!(定義済み?(@unscoped) ? @unscoped : nil) end |
# with_default_scope ] =基準
デフォルトのスコープを適用できる場合は、デフォルトのスコープが適用された基準を取得します。 当てはまらないケース。スコープが設定されていないブロック内にある場合、基準がすでに強制的にスコープ外されている場合、またはデフォルトのスコープがすでに適用されている場合。
148 149 150 151 152 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行148 デフォルト with_default_scope crit = 複製 crit.apply_default_scope 場合 klass.default_scopable? & & !スコープが設定されていないか & & !スコープ付き crit end |