lib/kontena/cli/master/remove_command.rb in kontena-cli-1.1.0.pre1 vs lib/kontena/cli/master/remove_command.rb in kontena-cli-1.1.0.rc1
- old
+ new
@@ -4,11 +4,11 @@
parameter '[NAME]', "Master name"
banner "Note: This command only removes the master from your local configuration file"
- option '--force', :flag, "Don't ask questions"
+ option '--force', :flag, "Don't ask for confirmation", attribute_name: :forced
def run_interactive
selections = prompt.multi_select("Select masters to remove from configuration file:") do |menu|
config.servers.each do |server|
menu.choice " #{pastel.green("* ") if config.current_server == server.name}#{server.name} (#{server.username || 'unknown'} @ #{server.url})", server
@@ -20,30 +20,27 @@
end
delete_servers(selections)
end
def delete_servers(servers)
- case servers.size
- when 0
- abort "Master not found in configuration"
- when 1
- config.servers.delete(config.servers.delete(servers.first))
- puts "Removed Master '#{servers.first.name}'"
- else
- unless self.force?
- abort("Aborted") unless prompt.yes?("Remove #{servers.size} masters from configuration?")
- end
- config.servers.delete_if {|s| servers.include?(s) }
- puts "Removed #{servers.size} masters from configuration"
+ abort "Master not found in configuration" if servers.empty?
+
+ unless forced?
+ puts "Removing #{servers.size} master#{"s" if servers.size > 1} from configuration"
+ confirm
end
+
+ config.servers.delete_if {|s| servers.include?(s) }
+
unless config.find_server(config.current_server)
puts
puts "Current master was removed, to select a new current master use:"
puts " " + pastel.green.on_black(" kontena master use <master_name> ")
puts "Or log into another master by using:"
puts " " + pastel.green.on_black(" kontena master login <master_url> ")
config.current_server = nil
end
+
config.write
end
def execute
if self.name.nil?