Class: Steep::Server::Master::ResultHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/steep/server/master.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request:) ⇒ ResultHandler

Returns a new instance of ResultHandler.



11
12
13
14
15
16
# File 'lib/steep/server/master.rb', line 11

def initialize(request:)
  @request = request
  @response = nil
  @completion_handler = nil
  @completed = false
end

Instance Attribute Details

#completion_handlerObject (readonly)

Returns the value of attribute completion_handler.



8
9
10
# File 'lib/steep/server/master.rb', line 8

def completion_handler
  @completion_handler
end

#requestObject (readonly)

Returns the value of attribute request.



7
8
9
# File 'lib/steep/server/master.rb', line 7

def request
  @request
end

#responseObject (readonly)

Returns the value of attribute response.



9
10
11
# File 'lib/steep/server/master.rb', line 9

def response
  @response
end

Instance Method Details

#completed?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/steep/server/master.rb', line 32

def completed?
  !!@response
end

#on_completion(&block) ⇒ Object



36
37
38
# File 'lib/steep/server/master.rb', line 36

def on_completion(&block)
  @completion_handler = block
end

#process_response(message) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/steep/server/master.rb', line 18

def process_response(message)
  if request[:id] == message[:id]
    completion_handler&.call(message)
    @response = message
    true
  else
    false
  end
end

#resultObject



28
29
30
# File 'lib/steep/server/master.rb', line 28

def result
  response&.dig(:result)
end