Sha256: 74dcee0b67d3bf46110ba76e5e231511635ad10362b984ab432d54c0ed9f97b5

Contents?: true

Size: 604 Bytes

Versions: 3

Compression:

Stored size: 604 Bytes

Contents

module PipeRpc
  class Client < BasicInterface
    def initialize(server_id = :default, hub)
      ::Kernel.raise ClientInitializationError.new("server id #{server_id.inspect} no symbol") unless server_id.is_a? ::Symbol
      @__rpc_server_id__ = server_id
      @hub = hub
    end

    attr_reader :__rpc_server_id__

    def respond_to?(method)
      super or method_missing(:respond_to?, method)
    end

    def method_missing(method, *args)
      request = Client::Request.new(@hub, server: @__rpc_server_id__, method: method, arguments: args)
      @hub.requests.evaluate(request)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pipe_rpc-2.2.3 lib/pipe_rpc/client.rb
pipe_rpc-2.2.2 lib/pipe_rpc/client.rb
pipe_rpc-2.2.1 lib/pipe_rpc/client.rb