30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# File 'lib/graphql/schema/validator/all_validator.rb', line 30
def validate(object, context, value)
return EMPTY_ARRAY if permitted_empty_value?(value)
all_errors = EMPTY_ARRAY
value.each do |subvalue|
@validators.each do |validator|
errors = validator.validate(object, context, subvalue)
if errors &&
(errors.is_a?(Array) && errors != EMPTY_ARRAY) ||
(errors.is_a?(String))
if all_errors.frozen?
all_errors = []
end
if errors.is_a?(String)
all_errors << errors
else
all_errors.concat(errors)
end
end
end
end
unless all_errors.frozen?
all_errors.uniq!
end
all_errors
end
|