Sha256: bce745b2f763754deaefe1ffc7854b278383f4674d50e63ffbcc41187453d283
Contents?: true
Size: 1.03 KB
Versions: 93
Compression:
Stored size: 1.03 KB
Contents
# frozen_string_literal: true module GraphQL module Execution # Boolean checks for how an AST node's directives should # influence its execution # @api private module DirectiveChecks SKIP = "skip" INCLUDE = "include" module_function # @return [Boolean] Should this node be included in the query? def include?(directive_ast_nodes, query) directive_ast_nodes.each do |directive_ast_node| name = directive_ast_node.name directive_defn = query.schema.directives[name] case name when SKIP args = query.arguments_for(directive_ast_node, directive_defn) if args['if'] == true return false end when INCLUDE args = query.arguments_for(directive_ast_node, directive_defn) if args['if'] == false return false end else # Undefined directive, or one we don't care about end end true end end end end
Version data entries
93 entries across 93 versions & 1 rubygems