Conditions | 2 |
Total Lines | 13 |
Lines | 0 |
Ratio | 0 % |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | # frozen_string_literal: true |
||
20 | def successful(enumerator, error = StandardError, ctx = nil) |
||
21 | suppressed = [] |
||
22 | enumerator.each do |*args| |
||
23 | begin |
||
24 | return yield(*args) |
||
25 | rescue error => e |
||
26 | ctx.logger.debug("#{e.class} raised: #{e.message}") if ctx |
||
27 | suppressed.push(e) |
||
28 | end |
||
29 | end |
||
30 | compliance_error('Empty enumerator passed') if suppressed.empty? |
||
31 | raise suppressed.last |
||
32 | end |
||
33 | end |
||
38 |