Class: GraphQL::Schema::EachItemValidator
- Inherits:
-
Object
- Object
- GraphQL::Schema::EachItemValidator
- Defined in:
- lib/graphql/schema/each_item_validator.rb
Instance Method Summary collapse
-
#initialize(errors) ⇒ EachItemValidator
constructor
A new instance of EachItemValidator.
- #validate(items, as:, must_be:) ⇒ Object
Constructor Details
#initialize(errors) ⇒ EachItemValidator
Returns a new instance of EachItemValidator.
2 3 4 |
# File 'lib/graphql/schema/each_item_validator.rb', line 2 def initialize(errors) @errors = errors end |
Instance Method Details
#validate(items, as:, must_be:) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/graphql/schema/each_item_validator.rb', line 6 def validate(items, as:, must_be:) if !items.is_a?(Array) @errors << "#{as} must be an Array, not #{items.inspect}" return else invalid_items = items.select {|k| !yield(k) } if invalid_items.any? @errors << "#{as} must be #{must_be}, but some aren't: #{invalid_items.map(&:to_s).join(", ")}" end end end |