モジュール: 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
デフォルトのスコープを基準に適用します。
18 19 20 21 22 23 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行18 デフォルト apply_default_scope klass.without_default_scope 行う mergeします。(klass.default_scoping.を呼び出す) end 自己. = true, false end |
# apply_scope (スコープ) ~基準(
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
現在の基準にスコープを適用します。
このメソッドはレシーバーを変更しませんが、 引数に応じて新しいオブジェクトまたはレシーバーが返される場合があります。 scope
引数が nil の場合、レシーバーは変更されずに返され、それ以外の場合は新しい基準オブジェクトが返されます。
37 38 39 40 41 42 43 44 45 46 47 48 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行37 デフォルト apply_scope(scope) ケース scope 次の場合: Proc instance_exec(&scope) 次の場合: シンボル 送信(scope) 次の場合: 条件 merge(scope) else 自己 end end |
#remove_scoping (その他) =基準
別の基準が指定されている場合は、この基準から他の基準のスコープを削除します。
59 60 61 62 63 64 65 66 67 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行59 デフォルト delete_scoping(その他) 場合 その他 拒否_一致(その他, : セレクター, :options) その他.includes.各 行う || includes.delete_one() end end 自己 end |
スコープ付き(オプション = nil)=nil) =============================================================================
スコープが設定されていないブロック内にない限り、基準を強制的にスコープ設定します。
77 78 79 80 81 82 83 84 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行77 デフォルト scoped( = nil) crit = 複製 crit..mergeします。( || {}) 場合 klass.default_scopable? & & !スコープ付き crit.apply_default_scope end crit end |
スコープ付き= true | false
基準にはデフォルトのスコープが適用されましたか。
92 93 94 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行92 デフォルト スコープ付き !!(定義済み?(@scoped) ? @scoped : nil) end |
# scopeing_options =配列
基準のスコープ オプションを ペア(スコープ付き、スコープなし)として取得します。
127 128 129 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行127 デフォルト [ (定義済み?(@scoped) ? @scoped : nil), (定義済み?(@unscoped) ? @unscoped : nil) ] end |
# sスコープ_オプション= (オプション) = (オプション) =配列
基準のスコープ オプションをペア(スコープ付き、スコープなし)として設定します。
139 140 141 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行139 デフォルト () @scoped, @unscoped = end |
スコープ が設定されていない = Criteria
基準からすべてのスコープをクリアします。
102 103 104 105 106 107 108 109 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行102 デフォルト スコープが設定されていない crit = 複製 ただし、 スコープが設定されていないか crit. = false, true crit.セレクター.クリア; crit..クリア end crit end |
スコープが設定されていない場合 = true | false
基準はスコープが設定されていませんか。
117 118 119 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行117 デフォルト スコープが設定されていないか !!(定義済み?(@unscoped) ? @unscoped : nil) end |
# with_default_scope ] =基準
デフォルトのスコープを適用できる場合は、デフォルトのスコープが適用された基準を取得します。 当てはまらないケース。スコープが設定されていないブロック内にある場合、基準がすでに強制的にスコープ外されている場合、またはデフォルトのスコープがすでに適用されている場合。
152 153 154 155 156 157 158 |
# ファイル 'lib/mongoid/criteria/scopable.rb' 行152 デフォルト with_default_scope crit = 複製 場合 klass.default_scopable? & & !スコープが設定されていないか & & !スコープ付き crit.apply_default_scope end crit end |