클래스: Mongo::URI::OptionsMapper Private
- 상속:
-
객체
- 객체
- Mongo::URI::OptionsMapper
- 다음을 포함합니다.
- 로깅 가능
- 다음에 정의됨:
- build/ruby-driver-v2.19/lib/mongo/uri/options_mapper.rb
개요
이 클래스는 비공개 API의 일부입니다. 이 클래스는 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
URI 옵션과 Ruby 옵션 간의 매핑을 수행합니다.
이 클래스에는 다음이 포함됩니다.
-
URI 옵션이 Ruby 옵션으로 변환되는 방식을 정의하는 매핑입니다.
-
대소문자를 사용한 URI 옵션 이름에서 표준 URI 옵션 이름으로의 매핑입니다.
-
URI 옵션 값을 Ruby 옵션 값으로 변환하는 메서드(convert_* 메서드)입니다. 이는 일반적으로 제공된 입력이 유효하지 않을 때 경고하고 nil을 반환합니다.
-
Ruby 옵션 값을 표준화된 MongoClient 옵션으로 변환하는 메서드(revert_* 메서드)입니다. 이는 입력이 유효하다고 가정하며 일반적으로 유효성 검사를 수행하지 않습니다.
URI 옵션 이름은 대소문자를 구분하지 않습니다. Ruby 옵션은 기호로 지정됩니다(클라이언트 옵션에서는 무관한 액세스를 사용함).
상수 요약
Loggable에서 포함된 상수
인스턴스 속성 요약 접기
-
옵션 #개 ⇒ 해시
읽기 전용
비공개
옵션.
인스턴스 메서드 요약 접기
-
#add_uri_option(키, 값, uri_options) ⇒ 객체
비공개
uri 옵션 해시에 옵션을 추가합니다.
-
#initialize(**opts) ⇒ OptionsMapper
생성자
비공개
옵션 매퍼를 인스턴스화합니다.
-
#Ruby_to_smc(opts) ⇒ 해시
비공개
제공된 Ruby 옵션을 '표준화된 MongoClient 옵션'으로 변환합니다.
-
#Ruby_to_string(opts) ⇒ 해시
비공개
제공된 Ruby 옵션을 URI string 의 표현으로 변환합니다.
- #smc_to_ruby(opts) ⇒ 객체 비공개
Loggable에 포함된 메서드
#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger
생성자 세부 정보
#initialize(**opts) ⇒ OptionsMapper
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
옵션 매퍼를 인스턴스화합니다.
46 47 48 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/uri/options_mapper.rb', 줄 46 def 초기화(**opts) @options = opts end |
인스턴스 속성 세부 정보
#options ⇒ 해시 (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
옵션을 반환합니다.
51 52 53 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/uri/options_mapper.rb', 줄 51 def @options end |
인스턴스 메서드 세부 정보
#add_uri_option(키, 값, 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-v2.19/lib/mongo/uri/options_mapper.rb', 줄 62 def add_uri_option(키, value, ) 전략 = URI_OPTION_MAP[키.downcase] 만약 전략.nil? log_warn(" URI' #{ @string}'에 지원되지 않는 URI 옵션' #{key} '. 무시됩니다.") 반환 end 그룹 = 전략[:group] 대상 = 만약 그룹 [그룹] || {} other end value = apply_transform(키, value, 전략[:type]) # 때로는 여기의 값이 nil일 수 있습니다. # 읽기 설정 태그 또는 인증 메커니즘 속성 및 모든 내부의 데이터 #개가 유효하지 않습니다. 이러한 옵션은 무시합니다. 하지 않는 한 value.nil? merge_uri_option(대상, value, 전략[:name]) end 만약 그룹 && !대상.비어 있나요? && !.키?(그룹) [그룹] = 대상 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-v2.19/lib/mongo/uri/options_mapper.rb', 줄 126 def Ruby_to_smc(opts) rv = {} URI_OPTION_MAP.각 do |uri_key, 사양| 만약 사양[:group] v = opts[사양[:group]] v = v && v[사양[:name]] other v = opts[사양[:name]] end 하지 않는 한 v.nil? 만약 유형 = 사양[:type] v = send("revert_#{type}", v) end canonical_key = URI_OPTION_CANONIAL_NAMES[uri_key] 하지 않는 한 canonical_key 올리다 ArgumentError, "옵션 #{uri_key} 를 알 수 없습니다. " end rv[canonical_key] = v end end # 기본값이 true인 옵션의 경우 true이면 값을 제거합니다. %w(retryReads retryWrites).각 do |k| 만약 rv[k] rv.삭제(k) end end # 기본값인 메커니즘에 대해 $external인 경우 인증 소스를 제거합니다. # (또는 require) 해당 인증 소스. 만약 %w(MONGODB-AWS).포함?(rv['authMechanism']) && rv['authSource'] == '$external' rv.삭제('authSource') end # ssl과 tls는 별칭이므로 ssl을 제거합니다. rv.삭제('ssl') # TODO가 데이터베이스와 동일한 경우 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-v2.19/lib/mongo/uri/options_mapper.rb', 줄 169 def Ruby_to_string(opts) rv = {} URI_OPTION_MAP.각 do |uri_key, 사양| 만약 사양[:group] v = opts[사양[:group]] v = v && v[사양[:name]] other v = opts[사양[:name]] end 하지 않는 한 v.nil? 만약 유형 = 사양[:type] v = send("stringify_#{type}", v) end canonical_key = URI_OPTION_CANONIAL_NAMES[uri_key] 하지 않는 한 canonical_key 올리다 ArgumentError, "옵션 #{uri_key} 를 알 수 없습니다. " end rv[canonical_key] = v end end # 기본값이 true인 옵션의 경우 true이면 값을 제거합니다. %w(retryReads retryWrites).각 do |k| 만약 rv[k] rv.삭제(k) end end # 기본값인 메커니즘에 대해 $external인 경우 인증 소스를 제거합니다. # (또는 require) 해당 인증 소스. 만약 %w(MONGODB-AWS).포함?(rv['authMechanism']) && rv['authSource'] == '$external' rv.삭제('authSource') end # ssl과 tls는 별칭이므로 ssl을 제거합니다. rv.삭제('ssl') # TODO가 데이터베이스와 동일한 경우 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-v2.19/lib/mongo/uri/options_mapper.rb', 줄 88 def smc_to_ruby(opts) = {} opts.각 do |키, value| 전략 = URI_OPTION_MAP[키.downcase] 만약 전략.nil? log_warn(" URI' #{ @string}'에 지원되지 않는 URI 옵션' #{key} '. 무시됩니다.") 반환 end 그룹 = 전략[:group] 대상 = 만약 그룹 [그룹] || {} other end value = apply_transform(키, value, 전략[:type]) # 때로는 여기의 값이 nil일 수 있습니다. # 읽기 설정 태그 또는 인증 메커니즘 속성 및 모든 내부의 데이터 #개가 유효하지 않습니다. 이러한 옵션은 무시합니다. 하지 않는 한 value.nil? merge_uri_option(대상, value, 전략[:name]) end 만약 그룹 && !대상.비어 있나요? && !.키?(그룹) [그룹] = 대상 end end end |