模块:Mongoid::Config::Encryption Private

扩展方式:
加密
包含在:
Mongoid::Config加密
定义于:
lib/mongoid/config/ 加密.rb

Overview

该模块是私有 API 的一部分。 您应尽可能避免使用此模块,因为它将来可能会被删除或更改。

该模块包含配置客户端字段级自动加密的逻辑。

实例方法摘要折叠

实例方法详细信息

# Encryption_schema_map (default_database,models =::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
# File 'lib/mongoid/config/ 加密.rb', line 23

def encryption_schema_map(default_database, 模型 = ::Mongoid.模型)
  已访问 = .new
  模型.each_with_object({}) do |模型, map|
    来年 if 已访问.包括?(模型)
    已访问 << 模型
    来年 if 模型.嵌入式?
    来年 除非 模型.加密?

    database = 模型.storage_options.获取(:database) { default_database }
    key = " #{ 数据库 } . #{ model . collection_name } "
    Props 对象 = (模型).合并(merge)(properties_for(模型, 已访问))
    map[key] = Props 对象 除非 Props 对象.空?
  end
end