모듈: Mongoid::Matcher:: 비공개

다음에 정의됨:
lib/mongoid/matcher/not.rb

개요

이 모듈은 비공개 API의 일부입니다. 이 모듈은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

$not 표현식 에 대한 인메모리 매처입니다.

클래스 메서드 요약 접기

클래스 메서드 세부 정보

.일치합니까?(존재, 값, 조건) ⇒ true | false, 부울

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

값이 $not 표현식 을 충족하는지 여부를 반환합니다.

매개변수:

  • 이 존재합니다 (true | false)

    값이 존재하는지 여부입니다.

  • value (객체)

    확인할 값입니다.

  • 조건 (Hash | Regexp | BSON::Regexp::Raw)

    $not 조건 술어입니다.

반환합니다:

  • (true | false)

    값이 일치하는지 여부입니다.

  • (부울)


22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# 파일 'lib/mongoid/matcher/not.rb', 줄 22

module_function def 일치합니까?(이 존재합니다, value, 조건)
  case 조건
  when ::정규 표현식, BSON::정규 표현식::원시
    !정규식.일치합니까?(이 존재합니다, value, 조건)
  when 해시
    만약 조건.비어 있나요?
      올리다 오류::InvalidQuery, "$not 인수는 빈 해시일 수 없습니다: #{Errors::InvalidQuery.truncate_expr(condition)}"
    end

    조건.모두? do |(k, cond_v)|
      k = k.to_s
      하지 않는 한 k.start_with?('$')
        올리다 오류::InvalidQuery, "$not 인수는 연산자여야 합니다: #{Errors::InvalidQuery.truncate_expr(k)}"
      end

      !FieldOperator.get(k).일치합니까?(이 존재합니다, value, cond_v)
    end
  other
    올리다 오류::InvalidQuery, "$not 인수는 해시 또는 정규 표현식 이어야 합니다: #{Errors::InvalidQuery.truncate_expr(condition)}"
  end
end