クラス: Mongo::URI::OptionsMapper Private

継承:
オブジェクト
  • オブジェクト
すべて表示
次のことが含まれます。
ログ記録可能
定義:
build/ruby-Driver-v 2.19 /lib/mongo/uri/options_mapper.rb

Overview

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

URI オプションと Ruby オプションの間のマッピングを実行します。

このクラスには、次のものが含まれます。

  • URI オプションが Ruby オプションに変換される方法を定義するマッピング。

  • ダウングレードされた URI オプション名から標準ケースの URI オプション名へのマッピング。

  • URI オプション値を Ruby オプション値に変換するためのメソッド( convert_* メソッド)。 これらは通常、指定された入力が無効な場合は警告を発し、 nil を返します。

  • Ruby オプション値の標準化された MongoClient オプション(revert_* メソッド)への Ruby オプション値の変換を実行するメソッド。 これらは入力が有効であることを前提としており、通常検証は実行されません。

URI オプション名では、大文字と小文字は区別されません。 Ruby options are specified as symbols (though in Client options use indifferent access).

以来

  • 2.0.0

定数の概要

Loggableに含まれる定数

ログ可能::PRFIX

インスタンス属性の概要を折りたたむ

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

Loggableに含まれるメソッド

#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger

コンストラクターの詳細

#initialize(**opts) ⇒ OptionsMapper

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

オプション マッパーをインスタンス化します。

パラメーター:

  • ops ハッシュ

    カスタマイズ可能なオプションのセット

オプション ハッシュ( * Ops ):

  • :logger ロガー

    使用するカスタム ロガー。

以来

  • 2.0.0



46
47
48
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/uri/options_mapper.rb', 行46

デフォルト 初期化(**ops)
  @options = ops
end

インスタンス属性の詳細

オプション=ハッシュ(読み取り専用)

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

オプションを返します。

次の値を返します。

  • ハッシュ

    オプション。

以来

  • 2.0.0



51
52
53
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/uri/options_mapper.rb', 行51

デフォルト options
  @options
end

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

#add_uri_option (key, value, uri_options) =オブジェクト

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

URI オプション ハッシュに オプションを追加します。

Acquires a target for the option based on group.
Transforms the value.
Merges the option into the target.

パラメーター:

  • キー ( string )

    URI オプション名。

  • 価値 ( string )

    オプションの値。

  • uri_options ハッシュ

    基本オプションのターゲット。

以来

  • 2.0.0



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/uri/options_mapper.rb', 行62

デフォルト add_uri_option(キー, 価値, uri_options)
  戦略 = URI_OPTION_MAP[キー.ダウンケース]
  場合 戦略.nil?
    log_警告(「 URI ` #{ @string } サポートされていない URI オプション #{ key } 」は 無視されます 。)
    return
  end

  グループ = 戦略[:group]
  ターゲット = 場合 グループ
    uri_options[グループ] || {}
  else
    uri_options
  end
  価値 = apply_transform(キー, 価値, 戦略[:type])
  # 場合によっては、ここで処理している値は nil になる場合があります。
  # 読み込み設定(read preference)タグまたは認証メカニズム プロパティと、次のすべて
  内の # データは無効です。 そのようなオプションは無視されます。
  ただし、 価値.nil?
    merge_uri_option(ターゲット, 価値, 戦略[:name])
  end

  場合 グループ & & !ターゲット.空の場合 & & !uri_options.key?(グループ)
    uri_options[グループ] = ターゲット
  end
end

# Ruby_to_smc (opts) =ハッシュ

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

提供されている Ruby オプションを標準化された MongoClient オプションに変換します。

パラメーター:

  • ops ハッシュ

    変換する Ruby オプション。

次の値を返します。

  • ハッシュ

    標準化された MongoClient オプション。

以来

  • 2.0.0



126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/uri/options_mapper.rb', 行126

デフォルト Ruby_to_smc(ops)
  rv = {}
  URI_OPTION_MAP. 行う |uri_key, スペック|
    場合 スペック[:group]
      v = ops[スペック[:group]]
      v = v & & v[スペック[:name]]
    else
      v = ops[スペック[:name]]
    end
    ただし、 v.nil?
      場合 タイプ = スペック[:type]
        v = 送信(" revert_ #{ type } ", v)
      end
      標準_キー = URI_OPTION_CANONIAL_NAMES[uri_key]
      ただし、 標準_キー
        発生 ArgumentError, "オプション#{ uri_key }は不明です"
      end
      rv[標準_キー] = v
    end
  end
  デフォルトが true であるオプションの場合、true の場合は値を削除します。
  %w(retryReads retryWrites). 行う |k|
    場合 rv[k]
      rv.削除(k)
    end
  end
  デフォルトのメカニズムの場合、$external の場合は認証ソースを削除します
  その認証ソースが必要な場合には、 (または が必要です)。
  場合 %w(MongoDB-AWS).include?(rv[' authMechanism ']) & & rv['authSource'] == ' $external '
    rv.削除('authSource')
  end
  # ssl と tls はエイリアスです。ssl は削除します
  rv.削除('ssl')
  データベースと同じ場合は authSource を削除します
  # では、クライアントに指定されているデータベースを認識するためにこのメソッドが必要です。
  rv
end

# Ruby_to_string (opts) =ハッシュ

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

指定された Ruby オプションを URI string での表現に変換します。

パラメーター:

  • ops ハッシュ

    変換する Ruby オプション。

次の値を返します。

  • ハッシュ

    URI string ハッシュ。

以来

  • 2.0.0



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/uri/options_mapper.rb', 行169

デフォルト Ruby_to_string(ops)
  rv = {}
  URI_OPTION_MAP. 行う |uri_key, スペック|
    場合 スペック[:group]
      v = ops[スペック[:group]]
      v = v & & v[スペック[:name]]
    else
      v = ops[スペック[:name]]
    end
    ただし、 v.nil?
      場合 タイプ = スペック[:type]
        v = 送信(" stringify_ #{ type } ", v)
      end
      標準_キー = URI_OPTION_CANONIAL_NAMES[uri_key]
      ただし、 標準_キー
        発生 ArgumentError, "オプション#{ uri_key }は不明です"
      end
      rv[標準_キー] = v
    end
  end
  デフォルトが true であるオプションの場合、true の場合は値を削除します。
  %w(retryReads retryWrites). 行う |k|
    場合 rv[k]
      rv.削除(k)
    end
  end
  デフォルトのメカニズムの場合、$external の場合は認証ソースを削除します
  その認証ソースが必要な場合には、 (または が必要です)。
  場合 %w(MongoDB-AWS).include?(rv[' authMechanism ']) & & rv['authSource'] == ' $external '
    rv.削除('authSource')
  end
  # ssl と tls はエイリアスです。ssl は削除します
  rv.削除('ssl')
  データベースと同じ場合は authSource を削除します
  # では、クライアントに指定されているデータベースを認識するためにこのメソッドが必要です。
  rv
end

#smc_to_ Ruby (opts) =オブジェクト

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

以来

  • 2.0.0



88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/uri/options_mapper.rb', 行88

デフォルト smc_to_ruby(ops)
  uri_options = {}

  ops. 行う |キー, 価値|
    戦略 = URI_OPTION_MAP[キー.ダウンケース]
    場合 戦略.nil?
      log_警告(「 URI ` #{ @string } サポートされていない URI オプション #{ key } 」は 無視されます 。)
      return
    end

    グループ = 戦略[:group]
    ターゲット = 場合 グループ
      uri_options[グループ] || {}
    else
      uri_options
    end

    価値 = apply_transform(キー, 価値, 戦略[:type])
    # 場合によっては、ここで処理している値は nil になる場合があります。
    # 読み込み設定(read preference)タグまたは認証メカニズム プロパティと、次のすべて
    内の # データは無効です。 そのようなオプションは無視されます。
    ただし、 価値.nil?
      merge_uri_option(ターゲット, 価値, 戦略[:name])
    end

    場合 グループ & & !ターゲット.空の場合 & & !uri_options.key?(グループ)
      uri_options[グループ] = ターゲット
    end
  end

  uri_options
end