モジュール: Mongoid::Scopable::Classメソッドs
- 定義:
- lib/mongoid/scopable.rb
インスタンス メソッドの概要を折りたたむ
-
デフォルト_スコープ可能= true | false
クラスはデフォルトのスコープを適用できますか。
-
#default_scope(value = nil) ⇒ Proc
モデルにデフォルトのスコープを追加します。
-
#queryable ⇒ Criteria
private
クエリ可能な を、スコープ スタックの最後の 1 つまたは新しい 1 つとして取得します。
-
#スコープ(名前、値、ブロック)= オブジェクト
クラス レベルからアクセスできる、または指定された名前によって条件に連結されたスコープを作成します。
-
スコープ付き(オプション = nil)=nil)=============================================================================
通常のスコープを持つドキュメントの基準を取得します。
-
スコープ= ハッシュ
祖先クラスで定義されたスコープを含む、このクラスに定義されたすべてのスコープのハッシュを返します。
-
スコープが設定されていない =条件 |オブジェクト
スコープが適用されていない状態で基準を取得します。
-
# with_default_scope = Criteria (または: #criteria)
可能であれば、デフォルトのスコープが適用された基準を取得します。
-
# with_scope (基準) = 基準
指定された条件をスコープ スタックにプッシュし、指定されたブロックが生成された後に削除します。
-
# without_default_scope ] =オブジェクト
デフォルトのスコープを適用せずにブロックを実行します。
インスタンス メソッドの詳細
デフォルト_スコープ可能= true | false
クラスはデフォルトのスコープを適用できますか。
95 96 97 |
# ファイル 'lib/mongoid/scopable.rb', 行95 デフォルト default_scopable? default_scoping? & & !スレッド.without_default_scope は(自己) end |
#default_scope(value = nil) ⇒ Proc
モデルにデフォルトのスコープを追加します。 このスコープは、 #unscoped が指定されていない限り、すべての条件に適用されます。
83 84 85 86 87 |
# ファイル 'lib/mongoid/scopable.rb', 行83 デフォルト default_scope(価値 = nil) 価値 = Proc.新着情報 { ノードの数 } 場合 ブロック_指定 checkpoint_scope_validity(価値) 自己.default_scoping = process_default_scope(価値) end |
#queryable ⇒ Criteria
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
クエリ可能な を、スコープ スタックの最後の 1 つまたは新しい 1 つとして取得します。
107 108 109 110 111 |
# ファイル 'lib/mongoid/scopable.rb', 行107 デフォルト クエリ可能な crit = スレッド.current_scope(自己) || 条件.新着情報(自己) crit. = true 場合 (crit.klass. & & !crit.klass.定期的か) crit end |
#スコープ(名前、値、ブロック)=オブジェクト
クラス レベルからアクセスできる、または指定された名前によって条件に連結されたスコープを作成します。
132 133 134 135 136 137 138 139 140 141 |
# ファイル 'lib/mongoid/scopable.rb', 行132 デフォルト scope(name, 価値, &ブロック) 正規化された = name.to_sym checkpoint_scope_validity(価値) checkpoint_scope_name(正規化された) _develed_scopes[正規化された] = { scope: 価値, 拡張機能: Module.新着情報(&ブロック) } refine_scope_method(正規化された) end |
スコープ付き(オプション = nil)=nil) =============================================================================
これにより、デフォルトのスコープが強制的に適用されます。
通常のスコープを持つドキュメントの基準を取得します。
158 159 160 |
# ファイル 'lib/mongoid/scopable.rb', 行158 デフォルト scoped( = nil) クエリ可能な.scoped() end |
スコープ=ハッシュ
祖先クラスで定義されたスコープを含む、このクラスに定義されたすべてのスコープのハッシュを返します。
51 52 53 54 55 56 57 58 59 |
# ファイル 'lib/mongoid/scopable.rb', 行51 デフォルト scopes defined_scopes = {} 祖先.逆.各 行う |klass| 場合 klass.respond_to?(:_develed_scopes) defined_scopes.mergeします。(klass._develed_scopes) end end defined_scopes.freeze end |
スコープが設定されていない =条件|オブジェクト
これにより、デフォルトのスコープと .with_scope を使用して適用されたスコープが強制的に削除されます。
スコープが適用されていない状態で基準を取得します。
177 178 179 180 181 182 183 184 185 186 187 |
# ファイル 'lib/mongoid/scopable.rb', 行177 デフォルト スコープが設定されていない 場合 ブロック_指定 without_default_scope 行う with_scope(nil) 行う ノードの数(自己) end end else クエリ可能な.スコープが設定されていない end end |
# with_default_scope =基準値別:基準
可能であれば、デフォルトのスコープが適用された基準を取得します。
195 196 197 |
# ファイル 'lib/mongoid/scopable.rb', 行195 デフォルト with_default_scope クエリ可能な.with_default_scope end |
# with_scope (基準) =基準
指定された条件をスコープ スタックにプッシュし、指定されたブロックが生成された後に削除します。
209 210 211 212 213 214 215 216 217 |
# ファイル 'lib/mongoid/scopable.rb', 行209 デフォルト with_scope(条件) 旧 = スレッド.current_scope(自己) スレッド.set_current_scope(条件, 自己) begin ノードの数 条件 保証する スレッド.set_current_scope(旧, 自己) end end |
# without_default_scope ] =オブジェクト
デフォルトのスコープを適用せずにブロックを実行します。
227 228 229 230 231 232 |
# ファイル 'lib/mongoid/scopable.rb', 行227 デフォルト without_default_scope スレッド.start_Without_default_scope(自己) ノードの数 保証する スレッド.end_Without_default_scope(自己) end |