模块:Mongoid::Encryptable::ClassMethods

定义于:
lib/mongoid/encryptable.rb

实例方法摘要折叠

实例方法详细信息

# encrypt_with (options = {}) ⇒对象

设置模型的加密元数据。 此处设立的参数将用于加密模型的字段,除非字段本身被覆盖。

是否具有确定性。

参数:

  • 选项 哈希 (默认为: {}

    加密元数据。

选项哈希 ( options ):

  • :key_id string

    用于加密字段的密钥的基本64编码 UUID。 与 :key_name_field 选项互斥。

  • :key_name_field string

    包含用于加密的密钥替代名称的字段的名称。 与 :key_id 选项互斥。

  • :确定性 ( true | false )

    是否加密



27
28
29
# File 'lib/mongoid/encryptable.rb', line 27

def encrypt_with(选项 = {})
  self. = 选项
end

#加密?true | false

模型是否已加密。 这意味着要么对模型调用了 encrypt_with 方法,要么至少有一个字段已加密。

返回:

  • ( true | false )

    模型是否已加密。



36
37
38
# File 'lib/mongoid/encryptable.rb', line 36

def 加密?
  !.空? || 字段.任何? { |_, 字段| 字段.is_a?(Mongoid::字段::加密) }
end

# set_key_id (key_id) ⇒对象

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

覆盖模型的 key_id。

此方法仅用于测试目的,不应在应用程序代码中使用。 schema_map 是在应用程序生命周期的早期生成的,之后覆盖 key_id 将不会产生任何影响。



48
49
50
# File 'lib/mongoid/encryptable.rb', line 48

def set_key_id(key_id)
  self.[:key_id] = key_id
end