Module: GraphQL::Execution::DirectiveChecks
- Defined in:
- lib/graphql/execution/directive_checks.rb
Overview
Boolean checks for how an AST node’s directives should influence its execution
Constant Summary collapse
- SKIP =
"skip"
- INCLUDE =
"include"
Class Method Summary collapse
-
.include?(irep_node, query) ⇒ Boolean
Should this node be included in the query?.
-
.skip?(irep_node, query) ⇒ Boolean
This covers ‘@include(if:)` & `@skip(if:)`.
Class Method Details
.include?(irep_node, query) ⇒ Boolean
Returns Should this node be included in the query?.
27 28 29 |
# File 'lib/graphql/execution/directive_checks.rb', line 27 def include?(irep_node, query) !skip?(irep_node, query) end |
.skip?(irep_node, query) ⇒ Boolean
This covers ‘@include(if:)` & `@skip(if:)`
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/graphql/execution/directive_checks.rb', line 13 def skip?(irep_node, query) irep_node.directives.each do |directive_node| if directive_node.name == SKIP || directive_node.name == INCLUDE directive_defn = directive_node.definitions.first args = query.arguments_for(directive_node, directive_defn) if !directive_defn.include?(args) return true end end end false end |