Class: GraphQL::Schema::EachItemValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/graph_ql/schema/each_item_validator.rb

Instance Method Summary collapse

Constructor Details

#initialize(errors) ⇒ EachItemValidator

Returns a new instance of EachItemValidator.



2
3
4
# File 'lib/graph_ql/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
# File 'lib/graph_ql/schema/each_item_validator.rb', line 6

def validate(items, as:, must_be:)
  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