Class: PipeRpc::Client::Request

Inherits:
Request show all
Defined in:
lib/pipe_rpc/client_request.rb,
lib/pipe_rpc/client_request_response.rb

Defined Under Namespace

Classes: ErrorResponse, Response, Result, ResultResponse

Instance Attribute Summary collapse

Attributes inherited from Request

#arguments, #method, #server

Instance Method Summary collapse

Methods inherited from Request

#to_h

Constructor Details

#initialize(hub, request) ⇒ Request

Returns a new instance of Request.



5
6
7
8
9
10
11
12
13
# File 'lib/pipe_rpc/client_request.rb', line 5

def initialize(hub, request)
  @hub = hub
  request[:arguments] = hub.transport_mapper.to_transport request[:arguments]
  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

Instance Attribute Details

#hubObject (readonly)

Returns the value of attribute hub.



15
16
17
# File 'lib/pipe_rpc/client_request.rb', line 15

def hub
  @hub
end

#resultObject (readonly)

Returns the value of attribute result.



15
16
17
# File 'lib/pipe_rpc/client_request.rb', line 15

def result
  @result
end

#stacktraceObject (readonly)

Returns the value of attribute stacktrace.



15
16
17
# File 'lib/pipe_rpc/client_request.rb', line 15

def stacktrace
  @stacktrace
end

Instance Method Details

#idObject



22
23
24
# File 'lib/pipe_rpc/client_request.rb', line 22

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

#id=(id) ⇒ Object



17
18
19
20
# File 'lib/pipe_rpc/client_request.rb', line 17

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