クラス: Mongo::URI::OptionsMapper Private
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::URI::OptionsMapper
- 次のことが含まれます。
- ログ記録可能
- 定義:
- 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).
定数の概要
Loggableに含まれる定数
インスタンス属性の概要を折りたたむ
-
#options ⇒ Hash
readOnly
private
オプション。
インスタンス メソッドの概要を折りたたむ
-
#add_uri_option (key, value, uri_options) = オブジェクト
private
URI オプション ハッシュに オプションを追加します。
-
#initialize(**opts) ⇒ OptionsMapper
コンストラクター
private
オプション マッパーをインスタンス化します。
-
# Ruby_to_smc (opts) = ハッシュ
private
提供されている Ruby オプションを標準化された MongoClient オプションに変換します。
-
# Ruby_to_string (opts) = ハッシュ
private
指定された Ruby オプションを URI string での表現に変換します。
- #smc_to_ Ruby (opts) = オブジェクト private
Loggableに含まれるメソッド
#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger
コンストラクターの詳細
#initialize(**opts) ⇒ OptionsMapper
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
オプション マッパーをインスタンス化します。
46 47 48 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/uri/options_mapper.rb', 行46 デフォルト 初期化(**ops) @options = ops end |
インスタンス属性の詳細
オプション=ハッシュ(読み取り専用)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
オプションを返します。
51 52 53 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/uri/options_mapper.rb', 行51 デフォルト @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.
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_OPTION_MAP[キー.ダウンケース] 場合 戦略.nil? log_警告(「 URI ` #{ @string } で サポートされていない URI オプション 「 #{ key } 」は 無視されます 。) return end グループ = 戦略[:group] ターゲット = 場合 グループ [グループ] || {} else end 価値 = apply_transform(キー, 価値, 戦略[:type]) # 場合によっては、ここで処理している値は nil になる場合があります。 # 読み込み設定(read preference)タグまたは認証メカニズム プロパティと、次のすべて 内の # データは無効です。 そのようなオプションは無視されます。 ただし、 価値.nil? merge_uri_option(ターゲット, 価値, 戦略[:name]) end 場合 グループ & & !ターゲット.空の場合 & & !.key?(グループ) [グループ] = ターゲット end end |
# Ruby_to_smc (opts) =ハッシュ
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
提供されている Ruby オプションを標準化された MongoClient オプションに変換します。
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 での表現に変換します。
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 の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
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) = {} ops.各 行う |キー, 価値| 戦略 = URI_OPTION_MAP[キー.ダウンケース] 場合 戦略.nil? log_警告(「 URI ` #{ @string } で サポートされていない URI オプション 「 #{ key } 」は 無視されます 。) return end グループ = 戦略[:group] ターゲット = 場合 グループ [グループ] || {} else end 価値 = apply_transform(キー, 価値, 戦略[:type]) # 場合によっては、ここで処理している値は nil になる場合があります。 # 読み込み設定(read preference)タグまたは認証メカニズム プロパティと、次のすべて 内の # データは無効です。 そのようなオプションは無視されます。 ただし、 価値.nil? merge_uri_option(ターゲット, 価値, 戦略[:name]) end 場合 グループ & & !ターゲット.空の場合 & & !.key?(グループ) [グループ] = ターゲット end end end |