Sha256: e2c82b0442599b2f369d01c73a8b81bc4c9ca62b3d0ecc3421b2ec9345a723ab
Contents?: true
Size: 667 Bytes
Versions: 2
Compression:
Stored size: 667 Bytes
Contents
module Culerity class RemoteObjectProxy def initialize(remote_object_id, io) @remote_object_id = remote_object_id @io = io end def method_missing(name, *args) @io << "[#{remote_object_id}, \"#{name}\", #{args.map{|a| a.inspect}.join(', ')}]\n" process_result @io.gets.to_s.strip end def exit @io << '["_exit_"]' end private def process_result(result) res = eval result if res.first == :return res[1] elsif res.first == :exception raise res[1], res[2], res[3] end end def remote_object_id @remote_object_id end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
langalex-culerity-0.1.3 | lib/culerity/remote_object_proxy.rb |
langalex-culerity-0.1.4 | lib/culerity/remote_object_proxy.rb |