class Collab::JS::JSProcess
Public Class Methods
new()
click to toggle source
# File lib/collab/js.rb, line 59 def initialize @node = if defined?(Rails) Dir.chdir(Rails.root) { open_node } else open_node end end
Public Instance Methods
call(req)
click to toggle source
# File lib/collab/js.rb, line 67 def call(req) @node.puts(req) res = JSON.parse(@node.gets) raise ::Collab::JS::JSRuntimeError.new(res["error"]) if res["error"] res["result"] end
Private Instance Methods
open_node()
click to toggle source
# File lib/collab/js.rb, line 75 def open_node IO.popen(["node", "-e", "require('@pmcp/authority/dist/rpc')"], "r+") end