Method: Webhookdb::AggregateResult#initialize

Defined in:
lib/webhookdb/aggregate_result.rb

#initialize(existing = nil) ⇒ AggregateResult

Returns a new instance of AggregateResult.



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/webhookdb/aggregate_result.rb', line 24

def initialize(existing=nil)
  if existing.nil?
    @successes = []
    @failures = []
    @errors = []
    super("awaiting result")
    return
  end
  # We can only set the exception message from initialization
  @successes = existing.successes
  @failures = existing.failures
  @errors = existing.errors
  if @failures.empty?
    super("No errors")
    return
  end

  lines = ["Multiple errors occurred:"]
  @failures.each_with_index do |f, i|
    lines << " #{f.inspect}: #{@errors[i].message}"
  end
  super(lines.join("\n"))
end