class Kontena::Cli::Apps::RemoveCommand
Attributes
services[R]
Public Instance Methods
execute()
click to toggle source
# File lib/kontena/cli/apps/remove_command.rb, line 17 def execute require_api_url require_token require_config_file(filename) confirm unless forced? @services = services_from_yaml(filename, service_list, service_prefix, true) if services.size > 0 remove_services(services) elsif !service_list.empty? puts "No such service: #{service_list.join(', ')}".colorize(:red) end end
Private Instance Methods
delete(name, options, async = true)
click to toggle source
# File lib/kontena/cli/apps/remove_command.rb, line 43 def delete(name, options, async = true) unless deleted_services.include?(name) service = get_service(token, prefixed_name(name)) rescue nil if(service) spinner "removing #{pastel.cyan(name)}" do delete_service(token, prefixed_name(name)) unless async wait_for_delete_to_finish(service) end end deleted_services << name else warning "No such service #{name}" end end end
deleted_services()
click to toggle source
@return [Array]
# File lib/kontena/cli/apps/remove_command.rb, line 70 def deleted_services @deleted_services ||= [] end
remove_services(services)
click to toggle source
# File lib/kontena/cli/apps/remove_command.rb, line 33 def remove_services(services) services.find_all {|service_name, options| options['links'] && options['links'].size > 0 }.each do |service_name, options| delete(service_name, options, false) services.delete(service_name) end services.each do |service_name, options| delete(service_name, options) end end
wait_for_delete_to_finish(service)
click to toggle source
# File lib/kontena/cli/apps/remove_command.rb, line 60 def wait_for_delete_to_finish(service) until service.nil? service = get_service(token, service['name']) rescue nil sleep 0.5 end end