class Gitlab::QA::Docker::Command
Attributes
args[R]
Public Class Methods
execute(cmd, mask_secrets: nil, &block)
click to toggle source
# File lib/gitlab/qa/docker/command.rb, line 51 def self.execute(cmd, mask_secrets: nil, &block) new(cmd, mask_secrets: mask_secrets).execute!(&block) end
new(cmd = nil, mask_secrets: nil)
click to toggle source
# File lib/gitlab/qa/docker/command.rb, line 7 def initialize(cmd = nil, mask_secrets: nil) @args = Array(cmd) @mask_secrets = Array(mask_secrets) end
Public Instance Methods
<<(*args)
click to toggle source
# File lib/gitlab/qa/docker/command.rb, line 12 def <<(*args) tap { @args.concat(args) } end
==(other)
click to toggle source
# File lib/gitlab/qa/docker/command.rb, line 43 def ==(other) to_s == other.to_s end
env(name, value)
click to toggle source
# File lib/gitlab/qa/docker/command.rb, line 24 def env(name, value) tap { @args.push(%(--env #{name}="#{value}")) } end
execute!(&block)
click to toggle source
# File lib/gitlab/qa/docker/command.rb, line 47 def execute!(&block) Docker::Shellout.new(self).execute!(&block) end
mask_secrets()
click to toggle source
Returns a masked string form of a Command
@example
Command.new('a docker command', mask_secrets: 'command').mask_secrets #=> 'a docker *****' Command.new('a docker command', mask_secrets: %w[docker command]).mask_secrets #=> 'a ***** *****'
@return [String] The masked command string
# File lib/gitlab/qa/docker/command.rb, line 39 def mask_secrets @mask_secrets.each_with_object(to_s) { |secret, s| s.gsub!(secret, '*****') } end
name(identity)
click to toggle source
# File lib/gitlab/qa/docker/command.rb, line 20 def name(identity) tap { @args.push("--name #{identity}") } end
to_s()
click to toggle source
# File lib/gitlab/qa/docker/command.rb, line 28 def to_s "docker #{@args.join(' ')}" end
volume(from, to, opt = :z)
click to toggle source
# File lib/gitlab/qa/docker/command.rb, line 16 def volume(from, to, opt = :z) tap { @args.push("--volume #{from}:#{to}:#{opt}") } end