Sha256: 648661831b4b782c3fdde0bb1048ce21b0313c7aeb9c72c5cc8dcf1d7ffab12d

Contents?: true

Size: 564 Bytes

Versions: 110

Compression:

Stored size: 564 Bytes

Contents

require "open3"

module J1
  module Utils
    module Exec1
      extend self

      # Runs a program in a sub-shell.
      #
      # *args - a list of strings containing the program name and arguments
      #
      # Returns a Process::Status and a String of output in an array in
      # that order.
      def run(*args)
        stdin, stdout, stderr, process = Open3.popen3(*args)
        out = stdout.read.strip
        err = stderr.read.strip

        [stdin, stdout, stderr].each(&:close)
        [process.value, out + ';' + err]
      end

    end
  end
end

Version data entries

110 entries across 110 versions & 1 rubygems

Version Path
j1-template-2023.0.8 lib/j1/utils/exec1.rb
j1-template-2023.0.7 lib/j1/utils/exec1.rb
j1-template-2023.0.6 lib/j1/utils/exec1.rb
j1-template-2023.0.5 lib/j1/utils/exec1.rb
j1-template-2023.0.3 lib/j1/utils/exec1.rb
j1-template-2023.0.2 lib/j1/utils/exec1.rb
j1-template-2023.0.1 lib/j1/utils/exec1.rb
j1-template-2023.0.0 lib/j1/utils/exec1.rb
j1-template-2022.6.3 lib/j1/utils/exec1.rb
j1-template-2022.6.2 lib/j1/utils/exec1.rb
j1-template-2022.6.1 lib/j1/utils/exec1.rb
j1-template-2022.6.0 lib/j1/utils/exec1.rb
j1-template-2022.5.3 lib/j1/utils/exec1.rb
j1-template-2022.5.2 lib/j1/utils/exec1.rb
j1-template-2022.5.1 lib/j1/utils/exec1.rb
j1-template-2022.5.1.rc1 lib/j1/utils/exec1.rb
j1-template-2022.5.1.rc0 lib/j1/utils/exec1.rb
j1-template-2022.5.0 lib/j1/utils/exec1.rb
j1-template-2022.5.0.rc4 lib/j1/utils/exec1.rb
j1-template-2022.5.0.rc3 lib/j1/utils/exec1.rb