模块:Mongo::Lint Private
- 定义于:
- 构建/ruby-driver-v2.19/lib/ mongo /lint.rb
该模块是私有 API 的一部分。 您应尽可能避免使用此模块,因为它将来可能会被删除或更改。
类方法摘要折叠
-
。 assert_type (obj, cls) ⇒ 对象
private
如果
obj
不是cls
类型,则引发 LintError。 - 。已启用? ⇒ 布尔 private
- 。 validate_camel_case_read_preference (read_pref) ⇒ 对象 private
- 。 validate_camel_case_read_preference_mode (模式) ⇒ 对象 private
-
。 validate_read_concern_option (read_concern) ⇒ 对象
private
根据读/写关注(write concern)规范,将提供的哈希验证为读关注(read concern)对象( github.com/mongodb/species/blob/master/source/read-write-concern/read-write-concern.rst#read-concern ) 。
- 。 validate_underscore_read_preference (read_pref) ⇒ 对象 private
- .validate_underscore_read_preference_mode(mode) ⇒ Object private
类方法详细信息
。 assert_type (obj, cls) ⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
如果obj
不是cls
类型,则引发 LintError。
10 11 12 13 14 15 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo /lint.rb', line 10 def assert_type(obj, cls) return 除非 已启用? 除非 obj.is_a?(cls) 提高 错误::LintError, "应将#{ obj }为#{ cls } " end end |
。已启用? ⇒布尔
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
100 101 102 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo /lint.rb', line 100 def 已启用? ENV['MONGO_RUBY_DRIVER_LINT'] && %w(1 是 true 在).包括?(ENV['MONGO_RUBY_DRIVER_LINT'].Downcase) end |
。 validate_camel_case_read_preference (read_pref) ⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
38 39 40 41 42 43 44 45 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo /lint.rb', line 38 def validate_camel_case_read_preference(read_pref) return 除非 已启用? return if read_pref.nil? 除非 read_pref.is_a?(哈希) 提高 错误::LintError, "读取偏好不是哈希值: #{ read_pref } " end validate_camel_case_read_preference_mode(read_pref[:mode] || read_pref['mode']) end |
。 validate_camel_case_read_preference_mode (模式) ⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
48 49 50 51 52 53 54 55 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo /lint.rb', line 48 def validate_camel_case_read_preference_mode(模式) return 除非 已启用? if 模式 除非 %w(主节点 primaryPreferred 从节点 secondaryPreferred nearest).包括?(模式.to_s) 提高 错误::LintError, "无效的读取偏好(read preference)模式: #{ 模式 } " end end end |
。 validate_read_concern_option (read_concern) ⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
根据读/写关注(write concern)规范,将提供的哈希验证为读关注(read concern)对象( github.com/mongodb/species/blob/master/source/read-write-concern/read-write-concern.rst#read-concern ) 。
为方便起见,此方法还接受 nil 作为输入。
发送到服务器的读关注(read concern)文档可能包含其他字段,示例afterClusterTime。 这些字段由驾驶员内部生成,用户无法指定(如果由用户指定,则可能会导致不正确的行为),因此此方法会禁止这些字段。
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo /lint.rb', line 76 def validate_read_concern_option(read_concern) return 除非 已启用? return if read_concern.nil? 除非 read_concern.is_a?(哈希) 提高 错误::LintError, "读关注不是哈希: #{ read_concern } " end return if read_concern.空? 密钥 = read_concern.密钥 if read_concern.is_a?(BSON::文档) # 允许无关访问 allowed_keys = ['level'] else # 不允许无关紧要的访问权限 allowed_keys = [:level] end if 密钥 != allowed_keys 提高 错误::LintError, "读关注的键无效: #{ keys .inspect } } " end 等级 = read_concern[:level] return if [:local, :available, : majority, :linearizable, :快照].包括?(等级) 提高 错误::LintError, "读关注级别无效:值必须是符号: #{ level .inspect } } " end |
。 validate_underscore_read_preference (read_pref) ⇒对象
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
18 19 20 21 22 23 24 25 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo /lint.rb', line 18 def validate_underscore_read_preference(read_pref) return 除非 已启用? return if read_pref.nil? 除非 read_pref.is_a?(哈希) 提高 错误::LintError, "读取偏好不是哈希值: #{ read_pref } " end validate_underscore_read_preference_mode(read_pref[:mode] || read_pref['mode']) end |
.validate_underscore_read_preference_mode(mode) ⇒ Object
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
28 29 30 31 32 33 34 35 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo /lint.rb', line 28 def validate_underscore_read_preference_mode(模式) return 除非 已启用? if 模式 除非 %w(主节点 primary_preferred 从节点 secondary_preferred nearest).包括?(模式.to_s) 提高 错误::LintError, "无效的读取偏好(read preference)模式: #{ 模式 } " end end end |