Method: GraphQL::Schema#validate

Defined in:
lib/graphql/schema.rb

#validate(string_or_document, rules: nil) ⇒ Array<GraphQL::StaticValidation::Message>

Validate a query string according to this schema.

Parameters:

Returns:


180
181
182
183
184
185
186
187
188
189
190
191
192
# File 'lib/graphql/schema.rb', line 180

def validate(string_or_document, rules: nil)
  doc = if string_or_document.is_a?(String)
    GraphQL.parse(string_or_document)
  else
    string_or_document
  end
  query = GraphQL::Query.new(self, document: doc)
  validator_opts = { schema: self }
  rules && (validator_opts[:rules] = rules)
  validator = GraphQL::StaticValidation::Validator.new(validator_opts)
  res = validator.validate(query)
  res[:errors]
end