Module: Meta::Utils::Kwargs::Helpers
- Defined in:
- lib/meta/utils/kwargs/helpers.rb
Class Method Summary collapse
-
.fix!(options, fixed_values) ⇒ Object
将 options 内的值修正为固定值,该方法会原地修改 options 选项。 如果 options 中的缺失相应的值,则使用 fixed_values 中的值补充;如果 options 中的值不等于 fixed_values 中对应的值,则抛出异常。 示例: (1)fix!({}, { a: 1, b: 2 }) # => { a: 1, b: 2 } (2)fix!({ a: 1 }, { a: 2 }) # raise error.
- .merge_defaults!(options, defaults) ⇒ Object
Class Method Details
.fix!(options, fixed_values) ⇒ Object
将 options 内的值修正为固定值,该方法会原地修改 options 选项。 如果 options 中的缺失相应的值,则使用 fixed_values 中的值补充;如果 options 中的值不等于 fixed_values 中对应的值,则抛出异常。 示例: (1)fix!({}, { a: 1, b: 2 }) # => { a: 1, b: 2 } (2)fix!({ a: 1 }, { a: 2 }) # raise error
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/meta/utils/kwargs/helpers.rb', line 13 def fix!(, fixed_values) fixed_values.each do |key, value| if .include?(key) if [key] != value raise ArgumentError, "关键字参数 #{key} 的值不正确,必须为 #{value}" end else [key] = value end end end |
.merge_defaults!(options, defaults) ⇒ Object
26 27 28 29 30 31 |
# File 'lib/meta/utils/kwargs/helpers.rb', line 26 def merge_defaults!(, defaults) defaults.each do |key, value| [key] = value unless [key] end end |