Class: WSDirector::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/wsdirector/result.rb

Overview

Handle results from all clients from the group

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(group) ⇒ Result

Returns a new instance of Result.



8
9
10
11
12
13
14
# File 'lib/wsdirector/result.rb', line 8

def initialize(group)
  @group = group
  @errors = Concurrent::Array.new

  @all = Concurrent::AtomicFixnum.new(0)
  @failures = Concurrent::AtomicFixnum.new(0)
end

Instance Attribute Details

#errorsObject (readonly)

Returns the value of attribute errors.



6
7
8
# File 'lib/wsdirector/result.rb', line 6

def errors
  @errors
end

#groupObject (readonly)

Returns the value of attribute group.



6
7
8
# File 'lib/wsdirector/result.rb', line 6

def group
  @group
end

Instance Method Details

#failed(error_message) ⇒ Object

Called when client failed



22
23
24
25
26
# File 'lib/wsdirector/result.rb', line 22

def failed(error_message)
  errors << error_message
  all.increment
  failures.increment
end

#failures_countObject



36
37
38
# File 'lib/wsdirector/result.rb', line 36

def failures_count
  failures.value
end

#succeedObject

Called when client successfully finished it’s work



17
18
19
# File 'lib/wsdirector/result.rb', line 17

def succeed
  all.increment
end

#success?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/wsdirector/result.rb', line 28

def success?
  failures.value.zero?
end

#total_countObject



32
33
34
# File 'lib/wsdirector/result.rb', line 32

def total_count
  all.value
end