Sha256: 9fb9158559d9b5d63e03ae7c5b2ca00d1a98a61f5b22ae05f295b01bbe7a1572
Contents?: true
Size: 882 Bytes
Versions: 97
Compression:
Stored size: 882 Bytes
Contents
require 'open3' module Gitlab module QA module Docker class Shellout StatusError = Class.new(StandardError) def initialize(command) @command = command @output = [] puts "Docker shell command: `#{@command}`" end def execute! raise StatusError, 'Command already executed' if @output.any? Open3.popen2e(@command.to_s) do |_in, out, wait| out.each do |line| @output.push(line) if block_given? yield line, wait else puts line end end if wait.value.exited? && wait.value.exitstatus.nonzero? raise StatusError, "Docker command `#{@command}` failed!" end end @output.join.chomp end end end end end
Version data entries
97 entries across 97 versions & 1 rubygems