module U3dCore::Runner

this module is meant to be private to this lib

Public Class Methods

run(command, &block) click to toggle source
# File lib/u3d_core/command_runner.rb, line 30
def run(command, &block)
  select_runner_impl.call(command, &block)
end

Private Class Methods

select_runner_impl() click to toggle source
# File lib/u3d_core/command_runner.rb, line 36
def select_runner_impl
  # disable PTY by setting env variable
  return U3dCore::SafePopen.method(:spawn) unless ENV['U3D_NO_TTY'].nil?
  begin
    require 'pty'
    return U3dCore::SafePty.method(:spawn)
  rescue LoadError
    UI.important("No pty implementation found. Falling back to popen. Output might be buffered")
    return U3dCore::SafePopen.method(:spawn)
  end
end