class Culerity::CelerityServer

Public Class Methods

new(_in, _out) click to toggle source
# File lib/culerity/celerity_server.rb, line 8
def initialize(_in, _out)
  @proxies = {}
  @browsers = []

  while(true)
    call, block = eval _in.gets.to_s.strip
    return if call == "_exit_"
    next(close_browsers) if call == "_close_browsers_"
    next(clear_proxies) if call == "_clear_proxies_"
    
    unless call.nil?
      begin
        result = target(call.first).send call[1], *call[2..-1], &block
        _out << "[:return, #{proxify result}]\n"
      rescue => e
        _out << "[:exception, \"#{e.class.name}\", #{e.message.inspect}, #{prepend_js_stack_trace(e).inspect}]\n"
      end
    end

  end
  
end