Class: Collab::JS::JSProcess

Inherits:
Object
  • Object
show all
Defined in:
lib/collab/js.rb

Instance Method Summary collapse

Constructor Details

#initializeJSProcess

Returns a new instance of JSProcess.



53
54
55
56
57
58
59
# File 'lib/collab/js.rb', line 53

def initialize
   @node = if defined?(Rails)
             Dir.chdir(Rails.root) { open_node }
           else
             open_node
           end
end

Instance Method Details

#call(name, data = nil, schema_name:) ⇒ Object



61
62
63
64
65
66
67
# File 'lib/collab/js.rb', line 61

def call(name, data = nil, schema_name:)
  req = {name: name, data: data, schemaPackage: ::Collab.config.schema_package, schemaName: schema_name}
  @node.puts(JSON.generate(req))
  res = JSON.parse(@node.gets)
  raise ::Collab::JS::JSRuntimeError.new(res["error"]) if res["error"]
  res["result"]
end