module GitBundle::Shell
Public Instance Methods
execute(*args, silence_err: false)
click to toggle source
# File lib/git_bundle/shell.rb, line 20 def execute(*args, silence_err: false) puts args.map { |arg| "'#{arg}'" }.join(' ') if ENV['DEBUG'] == 'true' pipe_out, pipe_in = IO.pipe pipe_err_in = silence_err ? File::NULL : pipe_in system *args, out: pipe_in, err: pipe_err_in pipe_in.close pipe_out.read end
execute_live(*args)
click to toggle source
# File lib/git_bundle/shell.rb, line 16 def execute_live(*args) execute_pipe(*args).each_line { |line| puts line.chomp } end
execute_pipe(*args)
click to toggle source
# File lib/git_bundle/shell.rb, line 5 def execute_pipe(*args) puts args.map { |arg| "'#{arg}'" }.join(' ') if ENV['DEBUG'] == 'true' pipe_out, pipe_in = IO.pipe fork do system *args, out: pipe_in, err: pipe_in end pipe_in.close pipe_out end