Move argumentize to Utils

This commit is contained in:
David Heinemeier Hansson
2023-01-20 10:26:36 +01:00
parent 454015b294
commit 9bb1fb7166
4 changed files with 9 additions and 8 deletions

View File

@@ -1,8 +1,7 @@
require "mrsk/commands/base"
class Mrsk::Commands::Builder::Base < Mrsk::Commands::Base
delegate :argumentize, :secretize, to: Mrsk::Configuration
delegate :secretize, to: Mrsk::Utils
delegate :argumentize, to: Mrsk::Utils
def pull
docker :pull, config.absolute_image

View File

@@ -7,6 +7,7 @@ require "mrsk/utils"
class Mrsk::Configuration
delegate :service, :image, :servers, :env, :labels, :registry, :builder, to: :config, allow_nil: true
delegate :argumentize, to: Mrsk::Utils
class << self
def create_from(base_config_file, destination: nil)
@@ -18,10 +19,6 @@ class Mrsk::Configuration
end)
end
def argumentize(argument, attributes, redacted: false)
attributes.flat_map { |k, v| [ argument, redacted ? Mrsk::Utils.redact("#{k}=#{v}") : "#{k}=#{v}" ] }
end
private
def load_config_file(file)
if file.exist?
@@ -94,7 +91,7 @@ class Mrsk::Configuration
def env_args
if config.env.present?
self.class.argumentize "-e", config.env
argumentize "-e", config.env
else
[]
end

View File

@@ -1,5 +1,5 @@
class Mrsk::Configuration::Role
delegate :argumentize, to: Mrsk::Configuration
delegate :argumentize, to: Mrsk::Utils
attr_accessor :name

View File

@@ -1,6 +1,11 @@
module Mrsk::Utils
extend self
# Return a list of shell arguments using the same named argument against the passed attributes.
def argumentize(argument, attributes, redacted: false)
attributes.flat_map { |k, v| [ argument, redacted ? redact("#{k}=#{v}") : "#{k}=#{v}" ] }
end
# Copied from SSHKit::Backend::Abstract#redact to be available inside Commands classes
def redact(arg) # Used in execute_command to hide redact() args a user passes in
arg.to_s.extend(SSHKit::Redaction) # to_s due to our inability to extend Integer, etc