Class: Culerity::RemoteObjectProxy

### Home Classes Methods

### In Files

- lib/culerity/remote_object_proxy.rb

### Parent

Object

### Methods

- ::new
- #exit
- #id
- #method_missing
- #send_remote

### Class/Module Index

Quicksearch

- Culerity
- Culerity::CelerityServer
- Culerity::CulerityException
- Culerity::PersistentDelivery
- Culerity::RemoteBrowserProxy
- Culerity::RemoteObjectProxy
- Culerity::ServerCommands
- Object

No matching classes.

# Culerity::RemoteObjectProxy

### Public Class Methods

new(remote_object_id, io) click to toggle source

    # File lib/culerity/remote_object_proxy.rb, line 11
    def initialize(remote_object_id, io)
      @remote_object_id = remote_object_id
      @io = io
    end

### Public Instance Methods

exit() click to toggle source

    # File lib/culerity/remote_object_proxy.rb, line 43
    def exit
      @io << '["_exit_"]'
    end

id() click to toggle source

Commonly used to get the HTML id attribute Use `object_id` to get the local objects’ id.

    # File lib/culerity/remote_object_proxy.rb, line 20
    def id
      send_remote(:id)
    end

method_missing(name, *args, &block) click to toggle source

    # File lib/culerity/remote_object_proxy.rb, line 24
    def method_missing(name, *args, &block)
      send_remote(name, *args, &block)
    end

send_remote(name, *args, &blk) click to toggle source

Calls the passed method on the remote object with any arguments specified. Behaves the same as `Object#send`.

If you pass it a block then it will append the block as a “lambda { … }”. If your block returns a lambda string (“lambda { … }”) then it will be passed straight through, otherwise it will be wrapped in a lambda string before sending.

    # File lib/culerity/remote_object_proxy.rb, line 36
    def send_remote(name, *args, &blk)
      input = [remote_object_id, %{"#{name}"}, *args.map{|a| arg_to_string(a)}]
      serialized_block = ", #{block_to_string(&blk)}" if block_given?
      @io << "[[#{input.join(", ")}]#{serialized_block}]\n"
      process_result @io.gets.to_s.strip
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.