Class: WSDirector::ResultsHolder

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

Overview

Holds all results for all groups of clients

Instance Method Summary collapse

Constructor Details

#initializeResultsHolder

Returns a new instance of ResultsHolder.



8
9
10
# File 'lib/wsdirector/results_holder.rb', line 8

def initialize
  @groups = Concurrent::Map.new
end

Instance Method Details

#<<(result) ⇒ Object



33
34
35
# File 'lib/wsdirector/results_holder.rb', line 33

def <<(result)
  groups[result.group] = result
end


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/wsdirector/results_holder.rb', line 16

def print_summary
  single_group = groups.size == 1
  groups.each do |group, result|
    color = result.success? ? :green : :red
    prefix = single_group ? "" : "Group #{group}: "
    Printer.out(
      "#{prefix}#{result.total_count} clients, #{result.failures_count} failures\n",
      color
    )

    unless result.success?
      print_errors(result.errors)
      Printer.out "\n"
    end
  end
end

#success?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/wsdirector/results_holder.rb', line 12

def success?
  @groups.values.all?(&:success?)
end