Method: Opal::RSpec::RakeTask#launch_node

Defined in:
lib/opal/rspec/rake_task.rb

#launch_node(server) ⇒ Object

TODO: Avoid the Rack server and compile directly



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/opal/rspec/rake_task.rb', line 38

def launch_node(server)
  compiled = Tempfile.new 'opal_rspec.js'
  begin
    uri = URI(URL)
    Net::HTTP.start uri.hostname, uri.port do |http|
      resp = http.get File.join('/assets', server.main)
      compiled.write resp.body
      load_asset_code = get_load_asset_code server
      compiled.write load_asset_code
      compiled.close
    end
    command_line = "node #{compiled.path} 2>&1"
    puts "Running #{command_line}"
    system command_line
    exit 1 unless $?.success?
  ensure
    compiled.close unless compiled.closed?
    compiled.unlink
  end
end