类:Mongo::Crypt::Status Private
- 继承:
-
对象
- 对象
- Mongo::Crypt::Status
- 定义于:
- 构建/ruby-driver-v2.19/lib/ mongo /crypt/status.rb
Overview
此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。
mongocrypt_status_t 的包装器,表示 mongocrypt_t处理的状态。
类方法摘要折叠
-
。 from_pointer (指针)→ Mongo::Crypt::Status
private
从指向 mongocrypt_status_t 对象的现有指针初始化状态对象。
实例方法摘要折叠
-
# code ⇒ 整数
private
返回与状态关联的整数代码。
-
#initialize (pointer: nil) ⇒ 状态
构造函数
private
创建一个新的状态对象。
-
#label ⇒ Symbol
private
返回状态的标签。
-
# message ⇒ string
private
返回状态消息。
-
#可以吗? ⇒ 布尔
private
检查状态是否标记为 :ok。
-
# Raise_crypt_error ( KMS : false) ⇒ 对象
private
引发与此状态中存储的信息相对应的 Mongo::Error:CryptError。
-
# ref ⇒ FFI::Pointer
private
返回对根本的mongocrypt_status_t对象的引用。
-
# 更新 (label, code, message) ⇒ Mongo::Crypt::Status
private
在状态上设置标签、代码和消息。
构造函数详情
#initialize (pointer: nil) ⇒状态
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
使用指针初始化 Status对象时,
创建新的状态对象
建议您使用 #self.from_pointer 方法
35 36 37 38 39 40 41 42 43 44 45 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/crypt/status.rb', 第35行 def 初始化(指针: nil) # 如果传入了指针,则该类不负责 # 销毁该指针并释放数据。 # # FFI::AutoPointer 使用自定义发布策略来自动释放 # 当此对象超出作用域时的指针 @status = 指针 || FFI::AutoPointer.new( 绑定.mongocrypt_status_new, 绑定.方法(:mongocrypt_status_destroy) ) end |
类方法详细信息
。 from_pointer (指针)→ Mongo::Crypt::Status
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
从指向 mongocrypt_status_t 对象的现有指针初始化状态对象。
54 55 56 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/crypt/status.rb', 第54行 def self.from_pointer(指针) self.new(指针: 指针) end |
实例方法详细信息
# code ⇒整数
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回与状态关联的整数代码
90 91 92 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/crypt/status.rb', 第90行 def 代码 绑定.mongocrypt_status_code(@status) end |
#标签⇒符号
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回状态的标签
83 84 85 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/crypt/status.rb', 第83行 def 标签 绑定.mongocrypt_status_type(@status) end |
# message ⇒ string
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回状态消息
97 98 99 100 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/crypt/status.rb', 第97行 def = 绑定.(@status, nil) || ' ' end |
#可以吗? ⇒布尔
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
检查状态是否标记为 :ok
105 106 107 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/crypt/status.rb', 第105行 def 确定吗? 绑定.mongocrypt_status_ok(@status) end |
# Raise_crypt_error ( KMS : false) ⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
如果KMS参数为 false,则错误可能仍来自KMS 。 KMS参数只是强制将所有错误视为KMS错误。
引发与此状态中存储的信息相对应的 Mongo::Error:CryptError
如果 self.ok? 则不执行任何操作为 true
127 128 129 130 131 132 133 134 135 136 137 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/crypt/status.rb', 第127行 def Raise_crypt_error(KMS : false) return if 确定吗? if KMS || 标签 == :error_kms 错误 = 错误::KmsError.new(, 代码: 代码) else 错误 = 错误::CryptError.new(, 代码: 代码) end 提高 错误 end |
# ref ⇒ FFI::Pointer
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回对根本的mongocrypt_status_t对象的引用
113 114 115 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/crypt/status.rb', 第113行 def ref @status end |
# 更新 (label, code, message) ⇒ Mongo::Crypt::Status
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
在状态上设置标签、代码和消息
65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/crypt/status.rb', 第65行 def update(标签, 代码, ) 除非 [:ok, :error_client, :error_kms].包括?(标签) 提高 ArgumentError.new( " #{ label }对于 Mongo::Crypt::Status 标签来说是无效值。 " + "标签必须为以下值之一::ok, :error_client, :error_kms " ) end = ? .bytesize + 1 : 0 绑定.mongocrypt_status_set(@status, 标签, 代码, , ) self end |