Skip to content
Snippets Groups Projects
popen.rb 523 B
Newer Older
  • Learn to ignore specific revisions
  • require 'fileutils'
    
    
    module Gitlab
      module Popen
        def popen(cmd, path)
          vars = { "PWD" => path }
    
          options = { chdir: path }
    
          unless File.directory?(path)
    
    Dale Hamel's avatar
    Dale Hamel committed
            FileUtils.mkdir_p(path)
    
          @cmd_output = ""
          @cmd_status = 0
          Open3.popen3(vars, cmd, options) do |stdin, stdout, stderr, wait_thr|
            @cmd_status = wait_thr.value.exitstatus
            @cmd_output << stdout.read
            @cmd_output << stderr.read
          end
    
          return @cmd_output, @cmd_status
        end
      end
    end