Sha256: ae1c1be96d3a3c00f086517464a5deef4a96f2f064715b8dda65dfc0c683868e

Contents?: true

Size: 588 Bytes

Versions: 25

Compression:

Stored size: 588 Bytes

Contents

class GraphQL::StaticValidation::DirectivesAreDefined
  include GraphQL::StaticValidation::Message::MessageHelper

  def validate(context)
    directive_names = context.schema.directives.keys
    context.visitor[GraphQL::Language::Nodes::Directive] << -> (node, parent) {
      validate_directive(node, directive_names, context.errors)
    }
  end

  private

  def validate_directive(ast_directive, directive_names, errors)
     if !directive_names.include?(ast_directive.name)
       errors << message("Directive @#{ast_directive.name} is not defined", ast_directive)
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
graphql-0.12.1 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.12.0 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.11.1 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.11.0 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.10.9 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.10.8 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.10.7 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.10.6 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.10.5 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.10.4 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.10.3 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.10.2 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.10.1 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.10.0 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.9.5 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.9.4 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.9.3 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.9.2 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.8.1 lib/graphql/static_validation/rules/directives_are_defined.rb
graphql-0.8.0 lib/graphql/static_validation/rules/directives_are_defined.rb