모듈: Mongoid::Scopable::ClassMethods
- 다음에 정의됨:
- lib/mongoid/scopable.rb
인스턴스 메서드 요약 접기
-
#default_scopable? ⇒ true | false
클래스에 기본 범위를 적용할 수 있나요?
-
#default_scope(value = nil) ⇒ Proc
모델에 기본값 범위를 추가합니다.
-
#queryable ⇒ Criteria
비공개
스코프 스택 의 마지막 또는 새 쿼리 가능 항목을 가져옵니다.
-
#범위(이름, 값, 차단(&B)) ⇒ 객체
클래스 수준에서 액세스하거나 제공된 이름으로 기준에 연결할 수 있는 범위를 만듭니다.
-
#범위 지정(옵션 = nil) ⇒ 기준
일반 범위를 사용하여 문서의 기준을 가져옵니다.
-
#범위 ⇒ 해시
상위 클래스에 정의된 범위를 포함하여 이 클래스에 정의된 모든 범위의 해시를 반환합니다.
-
#unscoped ⇒ 기준 | 객체
범위를 적용하지 않고 기준을 가져옵니다.
-
#with_default_scope ⇒ 기준 (동의어: #criteria)
가능하면 기본값 범위가 적용된 기준을 가져옵니다.
-
#with_scope(기준) ⇒ 기준
제공된 기준을 범위 스택 에 푸시하고 제공된 차단 이 양보된 후 제거합니다.
-
#without_default_scope ⇒ 객체
기본 범위를 적용하지 않고 차단을 실행합니다.
인스턴스 메서드 세부 정보
#default_scopable? ⇒ true | false
클래스에 기본값 범위를 적용할 수 있나요?
95 96 97 |
# 파일 'lib/mongoid/scopable.rb', 95줄 def default_scopable? default_scoping? && !스레드.without_default_scope?(self) end |
#default_scope(value = nil) ⇒ Proc
모델에 기본값 범위를 추가합니다. 이 범위는 #unscoped를 지정하지 않는 한 모든 기준에 적용됩니다.
83 84 85 86 87 |
# 파일 'lib/mongoid/scopable.rb', 83줄 def default_scope(value = nil) value = Proc.신규 { yield } 만약 block_given? check_scope_validity(value) self.default_scoping = process_default_scope(value) end |
#queryable ⇒ Criteria
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
스코프 스택 의 마지막 또는 새 쿼리 가능 항목을 가져옵니다.
107 108 109 110 111 |
# 파일 'lib/mongoid/scopable.rb', 107줄 def 쿼리 가능 crit = 스레드.current_scope(self) || 기준.신규(self) crit. = true 만약 (crit.class. && !crit.class.주기적?) crit end |
#범위(이름, 값, 차단(&B)) ⇒ 객체
클래스 수준에서 액세스하거나 제공된 이름으로 기준에 연결할 수 있는 범위를 만듭니다.
132 133 134 135 136 137 138 139 140 141 |
# 파일 'lib/mongoid/scopable.rb', 132줄 def 범위(이름, value, &차단) 정규화 = 이름.to_sym check_scope_validity(value) check_scope_name(정규화) _declared_scopes[정규화] = { 범위: value, 확장자: 모듈.신규(&차단) } 정의_범위_메서드(정규화) end |
#범위 지정(옵션 = nil) ⇒ 기준
이렇게 하면 기본값 범위가 강제로 적용됩니다.
일반 범위를 사용하여 문서의 기준을 가져옵니다.
158 159 160 |
# 파일 'lib/mongoid/scopable.rb', 158줄 def 범위 지정( = nil) 쿼리 가능.범위 지정() end |
#범위 ⇒ 해시
상위 클래스에 정의된 범위를 포함하여 이 클래스에 정의된 모든 범위의 해시를 반환합니다.
51 52 53 54 55 56 57 58 59 |
# 파일 'lib/mongoid/scopable.rb', 51줄 def scopes 정의된_범위 = {} 조상.reverse.각 do |class| 만약 class.response_to?(:_declared_scopes) 정의된_범위.병합!(class._declared_scopes) end end 정의된_범위.동결 end |
#unscoped ⇒ 기준 | 객체
이렇게 하면 기본값 범위와 '.with_scope'를 사용하여 적용된 모든 범위가 강제로 제거됩니다.
범위를 적용하지 않고 기준을 가져옵니다.
177 178 179 180 181 182 183 184 185 186 187 |
# 파일 'lib/mongoid/scopable.rb', 177줄 def 범위가 지정되지 않은 만약 block_given? without_default_scope do with_scope(nil) do yield(self) end end other 쿼리 가능.범위가 지정되지 않은 end end |
#with_default_scope ⇒ Criteria (기준 )라고도 함: criteria
가능하면 기본값 범위가 적용된 기준을 가져옵니다.
195 196 197 |
# 파일 'lib/mongoid/scopable.rb', 195줄 def with_default_scope 쿼리 가능.with_default_scope end |
#with_scope(기준) ⇒ 기준
제공된 기준을 범위 스택 에 푸시하고 제공된 차단 이 양보된 후 제거합니다.
209 210 211 212 213 214 215 216 217 |
# 파일 'lib/mongoid/scopable.rb', 209줄 def with_scope(기준) 이전 = 스레드.current_scope(self) 스레드.set_current_scope(기준, self) 시작 yield 기준 보장 스레드.set_current_scope(이전, self) end end |
#without_default_scope ⇒ 객체
기본 범위를 적용하지 않고 차단을 실행합니다.
227 228 229 230 231 232 |
# 파일 'lib/mongoid/scopable.rb', 227줄 def without_default_scope 스레드.begin_without_default_scope(self) yield 보장 스레드.exit_without_default_scope(self) end |