def configure(server)
raise ArgumentError, "The --use and --skip-wizard options cannot be used together." if options.use && options.skip_wizard
server = server_configs.find(server)
attrs = [:hostname, :nickname, :login, :use_authorization_tokens, :insecure, :timeout, :ssl_version, :ssl_client_cert_file, :ssl_client_key_file, :ssl_ca_file].inject({}){ |h, (k, v)| v = options[k == :login ? :rhlogin : k]; h[k] = (v.nil? ? server.send(k) : v); h }
raise RHC::ServerNicknameExistsException.new(options.nickname) if options.nickname &&
server_configs.nickname_exists?(options.nickname) &&
server_configs.find(options.nickname).hostname != server.hostname
server = server_configs.update(server.hostname, attrs)
unless options.skip_wizard
wizard_to_server(attrs[:hostname], options.use, attrs.reject{|k, v| k == :hostname || k == :nickname})
else
say "Saving server configuration to #{system_path(server_configs.path)} ... "
server_configs.save!
success "done"
0
end
paragraph{ say display_server(server) }
paragraph { success "Now using '#{server.hostname}'" } if options.use
0
end