class Dizby::ObjectProxy

Public Class Methods

new(conn, ref = nil) click to toggle source
# File lib/dizby/distributed/proxy.rb, line 11
def initialize(conn, ref = nil)
  @ref = ref
  @conn = conn
end

Public Instance Methods

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

rubocop:disable Style/MethodMissing

# File lib/dizby/distributed/proxy.rb, line 17
def method_missing(msg_id, *args, &block)
  @conn.server.log.debug("calling through proxy: #{msg_id} #{args}")
  @conn.send_request(@ref, msg_id, *args, &block)
  succ, result = @conn.recv_reply

  return result if succ
  raise result if result.is_a?(UnknownObject)

  bt = Dizby.proxy_backtrace(@conn.remote_uri, result)
  result.set_backtrace(bt + caller)
  raise result
end
respond_to?(msg_id, priv = false) click to toggle source

rubocop:enable Style/MethodMissing

# File lib/dizby/distributed/proxy.rb, line 31
def respond_to?(msg_id, priv = false)
  method_missing(:respond_to?, msg_id, priv)
end
Also aliased as: respond_to_missing?
respond_to_missing?(msg_id, priv = false)

rubocop:disable Style/Alias

Alias for: respond_to?