Make method private method and use :send

This commit is contained in:
Jacopo
2023-04-12 11:53:49 +02:00
parent 5ed431b807
commit 3cbf4aea46

View File

@@ -136,7 +136,7 @@ class Mrsk::Cli::App < Mrsk::Cli::Base
roles = MRSK.roles_on(host) roles = MRSK.roles_on(host)
roles.each do |role| roles.each do |role|
cli.stale_versions(host: host, role: role).each do |version| cli.send(:stale_versions, host: host, role: role).each do |version|
if stop if stop
puts_by_host host, "Stopping stale container for role #{role} with version #{version}" puts_by_host host, "Stopping stale container for role #{role} with version #{version}"
execute *MRSK.app(role: role).stop(version: version), raise_on_non_zero_exit: false execute *MRSK.app(role: role).stop(version: version), raise_on_non_zero_exit: false
@@ -244,19 +244,6 @@ class Mrsk::Cli::App < Mrsk::Cli::Base
on(MRSK.hosts) { |host| puts_by_host host, capture_with_info(*MRSK.app.current_running_version).strip } on(MRSK.hosts) { |host| puts_by_host host, capture_with_info(*MRSK.app.current_running_version).strip }
end end
no_commands do
def stale_versions(host:, role:)
versions = nil
on(host) do
versions = \
capture_with_info(*MRSK.app(role: role).list_versions, raise_on_non_zero_exit: false)
.split("\n")
.drop(1)
end
versions
end
end
private private
def using_version(new_version) def using_version(new_version)
if new_version if new_version
@@ -278,6 +265,17 @@ class Mrsk::Cli::App < Mrsk::Cli::Base
version.presence version.presence
end end
def stale_versions(host:, role:)
versions = nil
on(host) do
versions = \
capture_with_info(*MRSK.app(role: role).list_versions, raise_on_non_zero_exit: false)
.split("\n")
.drop(1)
end
versions
end
def version_or_latest def version_or_latest
options[:version] || "latest" options[:version] || "latest"
end end