class Gitlab::QA::Docker::Command

def self.execute(cmd, &block)

def self.execute(cmd, &block)
  new(cmd).execute!(&block)
end

def <<(*args)

def <<(*args)
  tap { @args.concat(args) }
end

def ==(other)

def ==(other)
  to_s == other.to_s
end

def env(name, value)

def env(name, value)
  tap { @args.push(%(--env #{name}="#{value}")) }
end

def execute!(&block)

def execute!(&block)
  Docker::Shellout.new(self).execute!(&block)
end

def initialize(cmd = nil)

def initialize(cmd = nil)
  @args = Array(cmd)
end

def name(identity)

def name(identity)
  tap { @args.push("--name #{identity}") }
end

def to_s

def to_s
  "docker #{@args.join(' ')}"
end

def volume(from, to, opt = :z)

def volume(from, to, opt = :z)
  tap { @args.push("--volume #{from}:#{to}:#{opt}") }
end