lib/opal/cli_runners/nodejs.rb
# Let's support fake IO objects like StringIO
Let's support fake IO objects like StringIO
Let ' s support fake IO objects like StringIO
def system_with_output(env, *cmd)
        if IO.try_convert(output)
          system(env, *cmd)
          @exit_status = $?.exitstatus
          return
        end
        if RUBY_PLATFORM == 'java'
          require 'tempfile'
          require 'shellwords'
          tempfile = Tempfile.new('opal-node-output')
          system(env, cmd.shelljoin + " > #{tempfile.path}")
          @exit_status = $?.exitstatus
          captured_output = File.read tempfile.path
          tempfile.close
        else
          require 'open3'
          captured_output, status = Open3.capture2(env, *cmd)
          @exit_status = status.exitstatus
        end
        output.write captured_output
      end
def system_with_output ( env , * cmd ) if IO . try_convert ( output ) system ( env , * cmd ) @exit_status = $? . exitstatus return end if RUBY_PLATFORM == 'java' require 'tempfile' require 'shellwords' tempfile = Tempfile . new ( 'opal-node-output' ) system ( env , cmd . shelljoin + " > #{tempfile.path}" ) @exit_status = $? . exitstatus captured_output = File . read tempfile . path tempfile . close else require 'open3' captured_output , status = Open3 . capture2 ( env , * cmd ) @exit_status = status . exitstatus end output . write captured_output end
Let's support fake IO objects like StringIO
Let ' s support fake IO objects like StringIO
# JRuby has issues in dealing with subprocesses (at least up to 1.7.15) # @headius told me it's mostly fixed on master, but while we wait for it # to ship here's a tempfile workaround.
env
<not_specific>
cmd
<not_specific>