Confirm outside mutating
This commit is contained in:
@@ -174,17 +174,12 @@ class Kamal::Cli::Accessory < Kamal::Cli::Base
|
|||||||
desc "remove [NAME]", "Remove accessory container, image and data directory from host (use NAME=all to remove all accessories)"
|
desc "remove [NAME]", "Remove accessory container, image and data directory from host (use NAME=all to remove all accessories)"
|
||||||
option :confirmed, aliases: "-y", type: :boolean, default: false, desc: "Proceed without confirmation question"
|
option :confirmed, aliases: "-y", type: :boolean, default: false, desc: "Proceed without confirmation question"
|
||||||
def remove(name)
|
def remove(name)
|
||||||
|
confirming "This will remove all containers, images and data directories for #{name}. Are you sure?" do
|
||||||
mutating do
|
mutating do
|
||||||
if name == "all"
|
if name == "all"
|
||||||
KAMAL.accessory_names.each { |accessory_name| remove(accessory_name) }
|
KAMAL.accessory_names.each { |accessory_name| remove_accessory(accessory_name) }
|
||||||
else
|
else
|
||||||
confirming "This will remove all containers, images and data directories for #{name}. Are you sure?" do
|
remove_accessory(name)
|
||||||
with_accessory(name) do
|
|
||||||
stop(name)
|
|
||||||
remove_container(name)
|
|
||||||
remove_image(name)
|
|
||||||
remove_service_directory(name)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -250,4 +245,13 @@ class Kamal::Cli::Accessory < Kamal::Cli::Base
|
|||||||
accessory.hosts
|
accessory.hosts
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def remove_accessory(name)
|
||||||
|
with_accessory(name) do
|
||||||
|
stop(name)
|
||||||
|
remove_container(name)
|
||||||
|
remove_image(name)
|
||||||
|
remove_service_directory(name)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user