모듈: Mongoid::Scopable::ClassMethods
- 다음에 정의됨:
- lib/mongoid/scopable.rb
인스턴스 메서드 요약 접기
-
#default_scopable? ⇒ true | false
클래스에 기본 범위를 적용할 수 있나요?
-
#default_scope(value = nil, &block) ⇒ Proc
모델에 기본값 범위를 추가합니다.
-
#queryable ⇒ Criteria
비공개
스코프 스택 의 마지막 또는 새 쿼리 가능 항목을 가져옵니다.
-
#범위(이름, 값, 차단(&B)) ⇒ 객체
클래스 수준에서 액세스하거나 제공된 이름으로 기준에 연결할 수 있는 범위를 만듭니다.
-
#범위 지정(옵션 = nil) ⇒ 기준
일반 범위를 사용하여 문서의 기준을 가져옵니다.
-
#범위 ⇒ 해시
상위 클래스에 정의된 범위를 포함하여 이 클래스에 정의된 모든 범위의 해시를 반환합니다.
-
#unscoped ⇒ 기준 | 객체
범위를 적용하지 않고 기준을 가져옵니다.
-
#with_default_scope ⇒ 기준 (동의어: #criteria)
가능하면 기본값 범위가 적용된 기준을 가져옵니다.
-
#with_scope(기준) ⇒ 기준
제공된 기준을 범위 스택 에 푸시하고 제공된 차단 이 양보된 후 제거합니다.
-
#without_default_scope ⇒ 객체
기본 범위를 적용하지 않고 차단을 실행합니다.
인스턴스 메서드 세부 정보
#default_scopable? ⇒ true | false
클래스에 기본값 범위를 적용할 수 있나요?
90 91 92 |
# 파일 'lib/mongoid/scopable.rb', 90줄 def default_scopable? default_scoping? && !스레드.without_default_scope?(self) end |
#default_scope(value = nil, &block) ⇒ Proc
모델에 기본값 범위를 추가합니다. 이 범위는 #unscoped를 지정하지 않는 한 모든 기준에 적용됩니다.
78 79 80 81 82 |
# 파일 'lib/mongoid/scopable.rb', 78줄 def default_scope(value = nil, &차단) value = proc(&차단) 만약 block_given? check_scope_validity(value) self.default_scoping = process_default_scope(value) end |
#queryable ⇒ Criteria
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
스코프 스택 의 마지막 또는 새 쿼리 가능 항목을 가져옵니다.
102 103 104 105 106 |
# 파일 'lib/mongoid/scopable.rb', 102줄 def 쿼리 가능 crit = 스레드.current_scope(self) || 기준.신규(self) crit. = true 만약 crit.class. && !crit.class.주기적? crit end |
#범위(이름, 값, 차단(&B)) ⇒ 객체
클래스 수준에서 액세스하거나 제공된 이름으로 기준에 연결할 수 있는 범위를 만듭니다.
127 128 129 130 131 132 133 134 135 136 |
# 파일 'lib/mongoid/scopable.rb', 127줄 def 범위(이름, value, &차단) 정규화 = 이름.to_sym check_scope_validity(value) check_scope_name(정규화) _declared_scopes[정규화] = { 범위: value, 확장자: 모듈.신규(&차단) } 정의_범위_메서드(정규화) end |
#범위 지정(옵션 = nil) ⇒ 기준
이렇게 하면 기본값 범위가 강제로 적용됩니다.
일반 범위를 사용하여 문서의 기준을 가져옵니다.
153 154 155 |
# 파일 'lib/mongoid/scopable.rb', 153줄 def 범위 지정( = nil) 쿼리 가능.범위 지정() end |
#범위 ⇒ 해시
상위 클래스에 정의된 범위를 포함하여 이 클래스에 정의된 모든 범위의 해시를 반환합니다.
48 49 50 51 52 53 54 |
# 파일 'lib/mongoid/scopable.rb', 48줄 def scopes 정의된_범위 = {} 조상.reverse_each do |class| 정의된_범위.병합!(class._declared_scopes) 만약 class.response_to?(:_declared_scopes) end 정의된_범위.동결 end |
#unscoped ⇒ 기준 | 객체
이렇게 하면 기본값 범위와 .with_scope를 사용하여 적용된 모든 범위가 강제로 제거됩니다.
범위를 적용하지 않고 기준을 가져옵니다.
172 173 174 175 176 177 178 179 180 181 182 |
# 파일 'lib/mongoid/scopable.rb', 172줄 def 범위가 지정되지 않은 만약 block_given? without_default_scope do with_scope(nil) do yield(self) end end other 쿼리 가능.범위가 지정되지 않은 end end |
#with_default_scope ⇒ Criteria (기준 )라고도 함: criteria
가능하면 기본값 범위가 적용된 기준을 가져옵니다.
190 191 192 |
# 파일 'lib/mongoid/scopable.rb', 190줄 def with_default_scope 쿼리 가능.with_default_scope end |
#with_scope(기준) ⇒ 기준
제공된 기준을 범위 스택 에 푸시하고 제공된 차단 이 양보된 후 제거합니다.
204 205 206 207 208 209 210 211 212 |
# 파일 'lib/mongoid/scopable.rb', 204줄 def with_scope(기준) 이전 = 스레드.current_scope(self) 스레드.set_current_scope(기준, self) 시작 yield 기준 보장 스레드.set_current_scope(이전, self) end end |
#without_default_scope ⇒ 객체
기본 범위를 적용하지 않고 차단을 실행합니다.
222 223 224 225 226 227 |
# 파일 'lib/mongoid/scopable.rb', 222줄 def without_default_scope 스레드.begin_without_default_scope(self) yield 보장 스레드.exit_without_default_scope(self) end |