circleci
9 of 9 new or added lines in 1 file covered. (100.0%)
15 of 3514 relevant lines covered (0.43%)
0.0 hits per line
1 |
class ErrorPropagator < Struct.new(:object, :errors, :limit) |
× |
2 |
def run |
× |
3 |
if object.valid?
|
× |
4 |
return
|
× |
5 |
end
|
× |
6 |
|
× |
7 |
truncated_messages.each do |message|
|
× |
8 |
errors.add(:base, message)
|
× |
9 |
end
|
× |
10 |
end
|
× |
11 |
|
× |
12 |
def messages |
× |
13 |
@messages ||= object.errors.full_messages
|
× |
14 |
end
|
× |
15 |
|
× |
16 |
private |
× |
17 |
|
× |
18 |
def truncated_messages |
× |
19 |
if exceeds_limit(messages.count)
|
× |
20 |
messages[0..limit - 1] + ["Further errors exist but were suppressed"] |
× |
21 |
else
|
× |
22 |
messages |
× |
23 |
end
|
× |
24 |
end
|
× |
25 |
|
× |
26 |
def exceeds_limit(value) |
× |
27 |
if !limit
|
× |
28 |
return false |
× |
29 |
end
|
× |
30 |
|
× |
31 |
value > limit |
× |
32 |
end
|
× |
33 |
end
|
× |