Sha256: ede93d00a6c4746e7b351bfc785f032f131736a391f25616be89a28cd61efc5c

Contents?: true

Size: 668 Bytes

Versions: 4

Compression:

Stored size: 668 Bytes

Contents

class PipeRpc::Request; end

module PipeRpc
  class Client::Request < Request
    def initialize(hub, request)
      @hub = hub
      request[:arguments] = DeepMapper.to_transport(request[:arguments], hub)
      super request
      # discard first three entries mentioning Client::Request#initialize,
      # Client::Request.new and Client#method_missing in stacktrace
      @stacktrace = Kernel.respond_to?(:caller) ? Kernel.caller(3).to_a : []
      @result = Result.new(self)
    end

    attr_reader :hub, :stacktrace, :result

    def id=(id)
      raise 'id already set' if @id
      @id = id
    end

    def id
      @id or raise 'id not set'
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pipe_rpc-2.2.3 lib/pipe_rpc/client_request.rb
pipe_rpc-2.2.2 lib/pipe_rpc/client_request.rb
pipe_rpc-2.2.1 lib/pipe_rpc/client_request.rb
pipe_rpc-2.2.0 lib/pipe_rpc/client_request.rb