クラス: Mongo::Crypt::Status Private

継承:
オブジェクト
  • オブジェクト
すべて表示
定義:
build/ruby-Driver-v 2.19 /lib/mongo/crypt/status.rb

Overview

このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。

mongocrypt_status_t を囲み、mongocrypt_t ハンドルのステータスを表すラッパー。

クラスメソッドの概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

コンストラクターの詳細

#初期化(ポインター: nil) =ステータス

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

注:

ポインターでステータス オブジェクトを初期化する場合、次のようになります

新しいステータス オブジェクトを作成する

Node .from_pointer を使用することを推奨 メソッド

パラメーター:

  • ポインター FFI::Pointer | nil (デフォルトはnil

    既存の mongocrypt_status_t オブジェクトへのポインター。 デフォルトは nil です。



35
36
37
38
39
40
41
42
43
44
45
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/status.rb', 行35

デフォルト 初期化(ポインター: nil)
  #ポインターが渡された場合、このクラスは次を担当しない
  # そのポインターを破棄し、データをアン割り当てます。
  #
  #FFI::AutoPointer はカスタム リリース戦略を使用して自動的に解放
  このオブジェクトがスコープを超えるとポインターは 表示されます
  @status = ポインター || FFI::AutoPointer.新着情報(
                        バインディング.mongocrypt_status_new,
                        バインディング.メソッド(:mongocrypt_status_detry)
                      )
end

クラスメソッドの詳細

from_pointer (ポインター)= Mongo::Crypt::Status

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ステータス オブジェクトを既存のポインターから mongocrypt_status_t オブジェクトに初期化します。

パラメーター:

  • ポインター FFI ::Pointer

    既存の mongocrypt_status_t オブジェクトへのポインター

次の値を返します。



54
55
56
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/status.rb', 行54

デフォルト 自己.from_pointer(ポインター)
  自己.新着情報(ポインター: ポインター)
end

インスタンス メソッドの詳細

#codeInteger

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ステータスに関連付けられた整数コードを返します

次の値を返します。

  • (整数)

    ステータス コード、デフォルトは0



90
91
92
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/status.rb', 行90

デフォルト コード
  バインディング.mongocrypt_status_code(@status)
end

#labelSymbol

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ステータスのラベルを返します

次の値を返します。

  • シンボル

    ステータス ラベル(:ok、:error_ kms、または :error_client のいずれか)は、デフォルトで :ok



83
84
85
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/status.rb', 行83

デフォルト ラベル
  バインディング.mongocrypt_status_type(@status)
end

#メッセージ= string

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ステータス メッセージを返す

次の値を返します。

  • ( string )

    ステータス メッセージ。デフォルトは空の string



97
98
99
100
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/status.rb', 行97

デフォルト メッセージ
  メッセージ = バインディング.mongocrypt_status_message(@status, nil)
  メッセージ || ''
end

#ok?Boolean

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ステータスに :ok のラベルが付いているかどうかを確認します。

次の値を返します。

  • ブール値

    ステータスが :ok かどうか



105
106
107
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/status.rb', 行105

デフォルト ok?
  バインディング.mongocrypt_status_ok(@status)
end

# accumulate_crypt_error ( KMS : false) =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

注:

KMSパラメータが false の場合でも、エラーはKMSからのものである可能性があります。 KMSパラメーターは、すべてのエラーをKMSエラーとして扱うように強制します。

このステータスに保存されている情報に対応する Mongo::Error:CryptError を発生させます。

private.ok の場合は何も行いませんか。は true

パラメーター:

  • KMS true | false (デフォルトはfalse

    操作が KMS に対して実行されたかどうか。



127
128
129
130
131
132
133
134
135
136
137
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/status.rb', 行127

デフォルト resume_crypt_error(KMS : false)
  return 場合 ok?

  場合 KMS || ラベル == :error_ kms
    エラー = エラー::KmsError.新着情報(メッセージ, コード: コード)
  else
    エラー = エラー::CryptError.新着情報(メッセージ, コード: コード)
  end

  発生 エラー
end

参照: FFI::Pointer

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

基礎となる mongocrypt_status_t オブジェクトへの参照を返します

次の値を返します。

  • FFI ::Pointer

    基礎となる mongocrypt_status_t オブジェクトへのポインター



113
114
115
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/status.rb', 行113

デフォルト 参照
  @status
end

更新(ラベル、コード、メッセージ)= Mongo::Crypt::Status

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ステータスでラベル、コード、メッセージを設定する

パラメーター:

  • ラベル シンボル

    :ok、:error_client、:error_ kms のいずれか 1 つ

  • コード 整数
  • メッセージ string

次の値を返します。



65
66
67
68
69
70
71
72
73
74
75
76
77
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/status.rb', 行65

デフォルト update(ラベル, コード, メッセージ)
  ただし、 [:ok, :error_client, :error_ kms].include?(ラベル)
    発生 ArgumentError.新着情報(
      " #{ラベル}は Mongo::Crypt::Status ラベルの無効値です +
      "ラベルには次のいずれかの値が必要です: :ok、:error_client、:error_ kms
    )
  end

  message_Length = メッセージ ? メッセージ.bytesize + 1 : 0
  バインディング.mongocrypt_status_set(@status, ラベル, コード, メッセージ, message_Length)

  自己
end