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?