module GraphQL::StaticValidation::DirectivesAreDefined

Public Class Methods

new(*) click to toggle source
Calls superclass method
# File lib/graphql/static_validation/rules/directives_are_defined.rb, line 5
def initialize(*)
  super
  @directive_names = context.warden.directives.map(&:graphql_name)
end

Public Instance Methods

on_directive(node, parent) click to toggle source
Calls superclass method
# File lib/graphql/static_validation/rules/directives_are_defined.rb, line 10
def on_directive(node, parent)
  if !@directive_names.include?(node.name)
    add_error(GraphQL::StaticValidation::DirectivesAreDefinedError.new(
      "Directive @#{node.name} is not defined",
      nodes: node,
      directive: node.name
    ))
  else
    super
  end
end