class Quality::Process

Wrapper around IO.popen that allows exit status to be mocked in tests.

Public Class Methods

new(full_cmd, dependencies = {}) click to toggle source
# File lib/quality/process.rb, line 8
def initialize(full_cmd,
               dependencies = {})
  @full_cmd = full_cmd
  @popener = dependencies[:popener] || IO
end

Public Instance Methods

run(&block) click to toggle source
# File lib/quality/process.rb, line 14
def run(&block)
  @popener.popen(@full_cmd, &block)
  $CHILD_STATUS&.exitstatus
end