モジュール: Mongoid::Scopable::Classメソッドs
- 定義:
- lib/mongoid/scopable.rb
インスタンス メソッドの概要を折りたたむ
-
デフォルト_スコープ可能= true | false
クラスはデフォルトのスコープを適用できますか。
-
# default_scope(値 = nil, & Block)= Proc
モデルにデフォルトのスコープを追加します。
-
#queryable ⇒ Criteria
private
クエリ可能な を、スコープ スタックの最後の 1 つまたは新しい 1 つとして取得します。
-
#スコープ(名前、値、ブロック)= オブジェクト
クラス レベルからアクセスできる、または指定された名前によって条件に連結されたスコープを作成します。
-
スコープ付き(オプション = nil)=nil)=============================================================================
通常のスコープを持つドキュメントの基準を取得します。
-
スコープ= ハッシュ
祖先クラスで定義されたスコープを含む、このクラスに定義されたすべてのスコープのハッシュを返します。
-
スコープが設定されていない =条件 |オブジェクト
スコープが適用されていない状態で基準を取得します。
-
# with_default_scope = Criteria (または: #criteria)
可能であれば、デフォルトのスコープが適用された基準を取得します。
-
# with_scope (基準) = 基準
指定された条件をスコープ スタックにプッシュし、指定されたブロックが生成された後に削除します。
-
# without_default_scope ] =オブジェクト
デフォルトのスコープを適用せずにブロックを実行します。
インスタンス メソッドの詳細
デフォルト_スコープ可能= true | false
クラスはデフォルトのスコープを適用できますか。
90 91 92 |
# ファイル 'lib/mongoid/scopable.rb', 行90 デフォルト default_scopable? default_scoping? & & !スレッド.without_default_scope は(自己) end |
# default_scope(値 = nil, & Block)= Proc
モデルにデフォルトのスコープを追加します。 このスコープは、 #unscoped が指定されていない限り、すべての条件に適用されます。
78 79 80 81 82 |
# ファイル 'lib/mongoid/scopable.rb', 行78 デフォルト default_scope(価値 = nil, &ブロック) 価値 = proc(&ブロック) 場合 ブロック_指定 checkpoint_scope_validity(価値) 自己.default_scoping = process_default_scope(価値) end |
#queryable ⇒ Criteria
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
クエリ可能な を、スコープ スタックの最後の 1 つまたは新しい 1 つとして取得します。
102 103 104 105 106 |
# ファイル 'lib/mongoid/scopable.rb', 行102 デフォルト クエリ可能な crit = スレッド.current_scope(自己) || 条件.新着情報(自己) crit. = true 場合 crit.klass. & & !crit.klass.定期的か crit end |
#スコープ(名前、値、ブロック)=オブジェクト
クラス レベルからアクセスできる、または指定された名前によって条件に連結されたスコープを作成します。
127 128 129 130 131 132 133 134 135 136 |
# ファイル 'lib/mongoid/scopable.rb', 行127 デフォルト scope(name, 価値, &ブロック) 正規化された = name.to_sym checkpoint_scope_validity(価値) checkpoint_scope_name(正規化された) _develed_scopes[正規化された] = { scope: 価値, 拡張機能: Module.新着情報(&ブロック) } refine_scope_method(正規化された) end |
スコープ付き(オプション = nil)=nil) =============================================================================
これにより、デフォルトのスコープが強制的に適用されます。
通常のスコープを持つドキュメントの基準を取得します。
153 154 155 |
# ファイル 'lib/mongoid/scopable.rb', 行153 デフォルト scoped( = nil) クエリ可能な.scoped() end |
スコープ=ハッシュ
祖先クラスで定義されたスコープを含む、このクラスに定義されたすべてのスコープのハッシュを返します。
48 49 50 51 52 53 54 |
# ファイル 'lib/mongoid/scopable.rb', 行48 デフォルト scopes defined_scopes = {} 祖先.verse_each 行う |klass| defined_scopes.mergeします。(klass._develed_scopes) 場合 klass.respond_to?(:_develed_scopes) end defined_scopes.freeze end |
スコープが設定されていない =条件|オブジェクト
これにより、デフォルトのスコープと .with_scope を使用して適用されたスコープが強制的に削除されます。
スコープが適用されていない状態で基準を取得します。
172 173 174 175 176 177 178 179 180 181 182 |
# ファイル 'lib/mongoid/scopable.rb', 行172 デフォルト スコープが設定されていない 場合 ブロック_指定 without_default_scope 行う with_scope(nil) 行う ノードの数(自己) end end else クエリ可能な.スコープが設定されていない end end |
# with_default_scope =基準値別:基準
可能であれば、デフォルトのスコープが適用された基準を取得します。
190 191 192 |
# ファイル 'lib/mongoid/scopable.rb', 行190 デフォルト with_default_scope クエリ可能な.with_default_scope end |
# with_scope (基準) =基準
指定された条件をスコープ スタックにプッシュし、指定されたブロックが生成された後に削除します。
204 205 206 207 208 209 210 211 212 |
# ファイル 'lib/mongoid/scopable.rb', 行204 デフォルト with_scope(条件) 旧 = スレッド.current_scope(自己) スレッド.set_current_scope(条件, 自己) begin ノードの数 条件 保証する スレッド.set_current_scope(旧, 自己) end end |
# without_default_scope ] =オブジェクト
デフォルトのスコープを適用せずにブロックを実行します。
222 223 224 225 226 227 |
# ファイル 'lib/mongoid/scopable.rb', 行222 デフォルト without_default_scope スレッド.start_Without_default_scope(自己) ノードの数 保証する スレッド.end_Without_default_scope(自己) end |