Module: Cinnabar::Command::ArrMixin

Defined in:
lib/cinnabar/cmd_runner.rb

Overview

Monkey patching: Array#run, Array#async_run, Array#run_cmd

Examples:

run


include Cinnabar::Command::ArrMixin

stdout = %w[printf World].run
stdout == "World" #=> true

async_run


include Cinnabar::Command::ArrMixin

fd, waiter = %w[ruby -e].push('sleep 2; puts "OK"').async_run

status = waiter.value
status.success?  #=> true

output = fd.read.chomp
fd.close
output == 'OK' #=> true

async_run + wait_with_output


include Cinnabar::Command::ArrMixin
include Cinnabar::Command::TaskArrMixin

task = %w[ruby -e].push('sleep 2; puts "OK"').async_run

output, status = task.wait_with_output

status.success?  #=> true
output.chomp == 'OK' #=> true

See Also: