Sha256: de9c0cb302c7677a80a3a8d5bd3855ffbef0472d7569f3f325ebc3580a898516

Contents?: true

Size: 482 Bytes

Versions: 4

Compression:

Stored size: 482 Bytes

Contents

require "open3"

module Jets::Shim::Adapter
  class Command < Base
    def handle
      cmd = event[:command]
      result = {stdout: "", stderr: ""}
      # splat works for both String and Array
      Open3.popen3(*cmd) do |stdin, stdout, stderr, wait_thread|
        result[:stdout] << stdout.read
        result[:stderr] << stderr.read
        result[:status] = wait_thread.value.exitstatus
      end
      result
    end

    def handle?
      event[:command]
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jets-6.0.5 lib/jets/shim/adapter/command.rb
jets-6.0.4 lib/jets/shim/adapter/command.rb
jets-6.0.3 lib/jets/shim/adapter/command.rb
jets-6.0.2 lib/jets/shim/adapter/command.rb