Sha256: 32b6a03ce925a67e22ce61c2692417813a09015673aacc8aeef365b3dd3153c6
Contents?: true
Size: 718 Bytes
Versions: 4
Compression:
Stored size: 718 Bytes
Contents
require 'open3' require 'TerraformDevKit/errors/command_error' module TerraformDevKit class Command def self.run(cmd, directory: Dir.pwd, print_output: true) out = IO.popen(cmd, err: %i[child out], chdir: directory) do |io| begin out = '' loop do chunk = io.readpartial(4096) print chunk if print_output out += chunk end rescue EOFError; end out end out = process_output(out) $?.exitstatus.zero? || (raise CommandError.new(cmd, out)) out end private_class_method def self.process_output(out) out.split("\n") .map { |line| line.tr("\r\n", '') } end end end
Version data entries
4 entries across 4 versions & 1 rubygems