class Seahorse::Client::Configuration::DefaultResolver
@api private
Public Class Methods
new(struct)
click to toggle source
# File lib/seahorse/client/configuration.rb, line 177 def initialize(struct) @struct = struct @members = Set.new(@struct.members) end
Public Instance Methods
resolve()
click to toggle source
# File lib/seahorse/client/configuration.rb, line 182 def resolve @members.each { |opt_name| value_at(opt_name) } end
respond_to?(method_name, *args)
click to toggle source
Calls superclass method
# File lib/seahorse/client/configuration.rb, line 186 def respond_to?(method_name, *args) @members.include?(method_name) or super end
Private Instance Methods
method_missing(method_name, *args)
click to toggle source
Calls superclass method
# File lib/seahorse/client/configuration.rb, line 206 def method_missing(method_name, *args) if @members.include?(method_name) value_at(method_name) else super end end
resolve_defaults(opt_name, defaults)
click to toggle source
# File lib/seahorse/client/configuration.rb, line 197 def resolve_defaults(opt_name, defaults) defaults.each do |default| default = default.call(self) if default.is_a?(DynamicDefault) @struct[opt_name] = default break if !default.nil? end @struct[opt_name] end
value_at(opt_name)
click to toggle source
# File lib/seahorse/client/configuration.rb, line 192 def value_at(opt_name) value = @struct[opt_name] value.is_a?(Defaults) ? resolve_defaults(opt_name, value) : value end