모듈: Mongoid::Config::Encryption Private

확장자:
암호화 (Encryption)
포함 항목:
Mongoid::Config, 암호화
다음에 정의됨:
lib/mongoid/config/ 암호화.rb

개요

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

이 모듈에는 클라이언트 사이드 필드 레벨 자동 암호화 를 구성하기 위한 로직이 포함되어 있습니다.

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#encryption_schema_map(default_database, 모델 = ::Mongoid.models) ⇒ 해시

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

제공된 모델에 대한 암호화 스키마 맵을 생성합니다.

매개변수:

  • default_database (string)

    기본값 데이터베이스 이름입니다.

  • 모델 (Array<Mongoid::Document>) (기본값: ::Mongoid.models)

    스키마 맵을 생성할 모델입니다. 기본값은 애플리케이션 의 모든 모델입니다.

반환합니다:

  • (해시)

    암호화 스키마 맵입니다.

[소스 보기]

23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 파일 'lib/mongoid/config/ 암호화.rb', 줄 23

def encryption_schema_map(default_database, 모델 = ::몽고이드.모델)
  방문 = 세트.신규
  모델.each_with_object({}) do |모델, map|
    다음 만약 방문.포함?(모델)
    방문 << 모델
    다음 만약 모델.임베디드?
    다음 하지 않는 한 모델.암호화됨?

    database = 모델.storage_options.가져오기(:database) { default_database }
     = "#{데이터베이스}.#{모델.collection_name}"
    프롭 = (모델).merge(properties_for(모델, 방문))
    map[] = 프롭 하지 않는 한 프롭.비어 있나요?
  end
end