class TerraformDevKit::Command
Public Class Methods
run(cmd, directory: Dir.pwd, print_output: true)
click to toggle source
# File lib/TerraformDevKit/command.rb, line 7 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 Methods
process_output(out)
click to toggle source
# File lib/TerraformDevKit/command.rb, line 26 def self.process_output(out) out.split("\n") .map { |line| line.tr("\r\n", '') } end