Sha256: 0ad7a1e504c96b1f80968fc9a26003e401d28f390093d288e3b0f18e41be6712
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]}" 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.1 | lib/culerity/remote_object_proxy.rb |
langalex-culerity-0.1.2 | lib/culerity/remote_object_proxy.rb |