Conditions | 5 |
Total Lines | 23 |
Code Lines | 15 |
Lines | 0 |
Ratio | 0 % |
Tests | 14 |
CRAP Score | 5 |
Changes | 0 |
1 | package config |
||
27 | func (err *ErrInvalidConfiguration) Error() string { |
||
28 | 1 | violations := err.ValidationError.(validation.Errors) |
|
29 | |||
30 | 1 | keys := make([]string, 0, len(violations)) |
|
31 | 1 | for key := range violations { |
|
32 | 1 | keys = append(keys, key) |
|
33 | } |
||
34 | 1 | sort.Strings(keys) |
|
35 | |||
36 | 1 | var message strings.Builder |
|
37 | 1 | message.WriteString("configuration has invalid values: ") |
|
38 | |||
39 | 1 | for i, key := range keys { |
|
40 | 1 | err := violations[key] |
|
41 | 1 | if err != nil { |
|
42 | 1 | if i > 0 { |
|
43 | 1 | message.WriteString("; ") |
|
44 | } |
||
45 | 1 | message.WriteString(fmt.Sprintf("invalid option '%s': %s", key, err.Error())) |
|
46 | } |
||
47 | } |
||
48 | |||
49 | 1 | return message.String() |
|
50 | } |
||
51 |