모듈: Mongoid::Criteria::Scopable
- 포함 항목:
- Mongoid::Criteria
- 다음에 정의됨:
- lib/mongoid/criteria/scopable.rb
개요
Mongoid::Criteria에 포함된 Mixin 모듈은 기본값 쿼리 범위 및 명명된 범위와 관련된 기능을 추가합니다.
인스턴스 메서드 요약 접기
-
#apply_default_scope ⇒ 기준
기준에 기본 범위를 적용합니다.
-
#apply_scope(scope) ⇒ 기준
비공개
현재 기준에 범위를 적용합니다.
-
#remove_scoping(기타) ⇒ 기준
다른 기준이 주어지면 이 기준에서 다른 기준의 범위를 제거합니다.
-
#범위 지정(옵션 = nil) ⇒ 기준
기준이 범위가 지정되지 않은 블록 내에 있지 않는 한 기준의 범위를 강제로 지정합니다.
-
#범위? ⇒ true | false
기준에 기본 범위가 적용되었나요?
-
#scopeing_options ⇒ 배열
기준 범위 지정 옵션을 쌍(범위 지정, 범위 지정 없음)으로 가져옵니다.
-
#scopeing_options=(options) ⇒ 배열
기준 범위 지정 옵션을 쌍(범위 지정, 범위 지정 없음)으로 설정합니다.
-
#unscoped ⇒ 기준
기준에서 모든 범위를 지웁니다.
-
#unscoped? ⇒ true | false
기준의 범위가 지정되지 않았나요?
-
#with_default_scope ⇒ 기준
기본 범위를 적용할 수 있는 경우 기본 범위가 적용된 기준을 가져옵니다.
인스턴스 메서드 세부 정보
#apply_default_scope ⇒ 기준
기준에 기본 범위를 적용합니다.
18 19 20 21 22 23 |
# 파일 'lib/mongoid/criteria/scopable.rb', 줄 18 def apply_default_scope class.without_default_scope do 병합!(class.default_scoping.전화하기.) end self. = true, 거짓 end |
#apply_scope(scope) ⇒ 기준
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
현재 기준에 범위를 적용합니다.
이 메서드는 수신자를 수정하지 않지만 인수에 따라 새 객체 또는 수신자를 반환할 수 있습니다. scope
인수가 nil이면 수정 없이 수신자를 반환하고, 그렇지 않으면 새 기준 객체를 반환합니다.
37 38 39 40 41 42 43 44 45 46 47 48 |
# 파일 'lib/mongoid/criteria/scopable.rb', 줄 37 def apply_scope(범위) case 범위 when Proc instance_exec(&범위) when 기호 send(범위) when 기준 merge(범위) other self end end |
#remove_scoping(기타) ⇒ 기준
다른 기준이 주어지면 이 기준에서 다른 기준의 범위를 제거합니다.
59 60 61 62 63 64 65 66 67 |
# 파일 'lib/mongoid/criteria/scopable.rb', 줄 59 def remove_scoping(기타) 만약 기타 거부_매칭(기타, :selector, :options) 기타.포함.각 do || 포함.delete_one() end end self end |
#범위 지정(옵션 = nil) ⇒ 기준
기준이 범위가 지정되지 않은 블록 내에 있지 않는 한 기준의 범위를 강제로 지정합니다.
77 78 79 80 81 82 83 84 |
# 파일 'lib/mongoid/criteria/scopable.rb', 줄 77 def 범위 지정( = nil) crit = 복제 crit..병합!( || {}) 만약 class.default_scopable? && !범위 지정? crit.apply_default_scope end crit end |
#범위? ⇒ true | false
기준에 기본 범위가 적용되었나요?
92 93 94 |
# 파일 'lib/mongoid/criteria/scopable.rb', 줄 92 def 범위 지정? !!(정의됨?(@scoped) ? @scoped : nil) end |
#scopeing_options ⇒ 배열
기준 범위 지정 옵션을 쌍(범위 지정, 범위 지정 없음)으로 가져옵니다.
127 128 129 |
# 파일 'lib/mongoid/criteria/scopable.rb', 줄 127 def [ (정의됨?(@scoped) ? @scoped : nil), (정의됨?(@unscoped) ? @unscoped : nil) ] end |
#scopeing_options=(options) ⇒ 배열
기준 범위 지정 옵션을 쌍(범위 지정, 범위 지정 없음)으로 설정합니다.
139 140 141 |
# 파일 'lib/mongoid/criteria/scopable.rb', 줄 139 def () @scoped, @unscoped = end |
#unscoped ⇒ 기준
기준에서 모든 범위를 지웁니다.
102 103 104 105 106 107 108 109 |
# 파일 'lib/mongoid/criteria/scopable.rb', 줄 102 def 범위가 지정되지 않은 crit = 복제 하지 않는 한 범위가 지정되지 않았나요? crit. = 거짓, true crit.선택기.지우기; crit..지우기 end crit end |
#unscoped? ⇒ true | false
기준의 범위가 지정되지 않았나요?
117 118 119 |
# 파일 'lib/mongoid/criteria/scopable.rb', 줄 117 def 범위가 지정되지 않았나요? !!(정의됨?(@unscoped) ? @unscoped : nil) end |
#with_default_scope ⇒ 기준
기본 범위를 적용할 수 있는 경우 기본 범위가 적용된 기준을 가져옵니다. 적용할 수 없는 경우: 범위가 지정되지 않은 차단에 있거나 기준이 이미 범위가 지정되지 않은 경우 또는 기본 범위가 이미 적용된 경우.
152 153 154 155 156 157 158 |
# 파일 'lib/mongoid/criteria/scopable.rb', 줄 152 def with_default_scope crit = 복제 만약 class.default_scopable? && !범위가 지정되지 않았나요? && !범위 지정? crit.apply_default_scope end crit end |