62: def apply_config(config)
63:
64: return unless config.is_a?(Rudy::Config)
65: clear_system_defaults
66:
67: if config.defaults?
68:
69: @nocolor = !config.defaults.color unless config.defaults.color.nil?
70:
71:
72:
73:
74:
75:
76: %w[region zone environment role position bucket
77: localhost nocolor quiet auto force parallel].each do |name|
78: curval, defval = self.send(name), config.defaults.send(name)
79: if curval.nil? && !defval.nil?
80:
81: self.instance_variable_set("@#{name}", defval)
82: end
83: end
84: end
85:
86: if config.accounts? && config.accounts.aws
87: %w[accesskey secretkey accountnum cert pkey].each do |name|
88: val = config.accounts.aws.send(name)
89: self.send("#{name}=", val) unless val.nil?
90: end
91: end
92: postprocess
93: end