graphql 2.0.30 → 2.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/graphql/install/mutation_root_generator.rb +2 -2
  3. data/lib/generators/graphql/install/templates/base_mutation.erb +2 -0
  4. data/lib/generators/graphql/install/templates/mutation_type.erb +2 -0
  5. data/lib/generators/graphql/install_generator.rb +3 -0
  6. data/lib/generators/graphql/templates/base_argument.erb +2 -0
  7. data/lib/generators/graphql/templates/base_connection.erb +2 -0
  8. data/lib/generators/graphql/templates/base_edge.erb +2 -0
  9. data/lib/generators/graphql/templates/base_enum.erb +2 -0
  10. data/lib/generators/graphql/templates/base_field.erb +2 -0
  11. data/lib/generators/graphql/templates/base_input_object.erb +2 -0
  12. data/lib/generators/graphql/templates/base_interface.erb +2 -0
  13. data/lib/generators/graphql/templates/base_object.erb +2 -0
  14. data/lib/generators/graphql/templates/base_resolver.erb +6 -0
  15. data/lib/generators/graphql/templates/base_scalar.erb +2 -0
  16. data/lib/generators/graphql/templates/base_union.erb +2 -0
  17. data/lib/generators/graphql/templates/graphql_controller.erb +2 -0
  18. data/lib/generators/graphql/templates/loader.erb +2 -0
  19. data/lib/generators/graphql/templates/mutation.erb +2 -0
  20. data/lib/generators/graphql/templates/node_type.erb +2 -0
  21. data/lib/generators/graphql/templates/query_type.erb +2 -0
  22. data/lib/generators/graphql/templates/schema.erb +5 -0
  23. data/lib/graphql/analysis/analyzer.rb +89 -0
  24. data/lib/graphql/analysis/field_usage.rb +82 -0
  25. data/lib/graphql/analysis/max_query_complexity.rb +20 -0
  26. data/lib/graphql/analysis/max_query_depth.rb +20 -0
  27. data/lib/graphql/analysis/query_complexity.rb +183 -0
  28. data/lib/graphql/analysis/query_depth.rb +58 -0
  29. data/lib/graphql/analysis/visitor.rb +282 -0
  30. data/lib/graphql/analysis.rb +92 -1
  31. data/lib/graphql/backtrace/inspect_result.rb +0 -12
  32. data/lib/graphql/backtrace/trace.rb +12 -15
  33. data/lib/graphql/coercion_error.rb +1 -9
  34. data/lib/graphql/dataloader/async_dataloader.rb +88 -0
  35. data/lib/graphql/dataloader/null_dataloader.rb +1 -1
  36. data/lib/graphql/dataloader/request.rb +5 -0
  37. data/lib/graphql/dataloader/source.rb +11 -3
  38. data/lib/graphql/dataloader.rb +112 -142
  39. data/lib/graphql/duration_encoding_error.rb +16 -0
  40. data/lib/graphql/execution/interpreter/argument_value.rb +5 -1
  41. data/lib/graphql/execution/interpreter/runtime/graphql_result.rb +175 -0
  42. data/lib/graphql/execution/interpreter/runtime.rb +163 -365
  43. data/lib/graphql/execution/interpreter.rb +92 -158
  44. data/lib/graphql/execution/lookahead.rb +88 -21
  45. data/lib/graphql/introspection/dynamic_fields.rb +1 -1
  46. data/lib/graphql/introspection/entry_points.rb +11 -5
  47. data/lib/graphql/introspection/schema_type.rb +3 -1
  48. data/lib/graphql/language/block_string.rb +34 -18
  49. data/lib/graphql/language/definition_slice.rb +1 -1
  50. data/lib/graphql/language/document_from_schema_definition.rb +38 -38
  51. data/lib/graphql/language/lexer.rb +305 -193
  52. data/lib/graphql/language/nodes.rb +113 -66
  53. data/lib/graphql/language/parser.rb +787 -1986
  54. data/lib/graphql/language/printer.rb +303 -146
  55. data/lib/graphql/language/sanitized_printer.rb +20 -22
  56. data/lib/graphql/language/static_visitor.rb +167 -0
  57. data/lib/graphql/language/visitor.rb +20 -81
  58. data/lib/graphql/language.rb +61 -0
  59. data/lib/graphql/load_application_object_failed_error.rb +5 -1
  60. data/lib/graphql/pagination/array_connection.rb +6 -6
  61. data/lib/graphql/pagination/connection.rb +28 -1
  62. data/lib/graphql/pagination/mongoid_relation_connection.rb +1 -2
  63. data/lib/graphql/query/context/scoped_context.rb +101 -0
  64. data/lib/graphql/query/context.rb +66 -131
  65. data/lib/graphql/query/null_context.rb +4 -11
  66. data/lib/graphql/query/validation_pipeline.rb +4 -4
  67. data/lib/graphql/query/variables.rb +3 -3
  68. data/lib/graphql/query.rb +17 -26
  69. data/lib/graphql/railtie.rb +9 -6
  70. data/lib/graphql/rake_task.rb +3 -12
  71. data/lib/graphql/rubocop/graphql/base_cop.rb +1 -1
  72. data/lib/graphql/schema/addition.rb +21 -11
  73. data/lib/graphql/schema/argument.rb +43 -8
  74. data/lib/graphql/schema/base_64_encoder.rb +3 -5
  75. data/lib/graphql/schema/build_from_definition.rb +9 -12
  76. data/lib/graphql/schema/directive/one_of.rb +12 -0
  77. data/lib/graphql/schema/directive/specified_by.rb +14 -0
  78. data/lib/graphql/schema/directive.rb +3 -1
  79. data/lib/graphql/schema/enum.rb +3 -3
  80. data/lib/graphql/schema/field/connection_extension.rb +1 -15
  81. data/lib/graphql/schema/field/scope_extension.rb +8 -1
  82. data/lib/graphql/schema/field.rb +49 -35
  83. data/lib/graphql/schema/has_single_input_argument.rb +157 -0
  84. data/lib/graphql/schema/input_object.rb +4 -4
  85. data/lib/graphql/schema/interface.rb +10 -10
  86. data/lib/graphql/schema/introspection_system.rb +4 -2
  87. data/lib/graphql/schema/late_bound_type.rb +4 -0
  88. data/lib/graphql/schema/list.rb +2 -2
  89. data/lib/graphql/schema/loader.rb +2 -3
  90. data/lib/graphql/schema/member/base_dsl_methods.rb +2 -1
  91. data/lib/graphql/schema/member/has_arguments.rb +63 -73
  92. data/lib/graphql/schema/member/has_directives.rb +1 -1
  93. data/lib/graphql/schema/member/has_fields.rb +8 -5
  94. data/lib/graphql/schema/member/has_interfaces.rb +23 -9
  95. data/lib/graphql/schema/member/relay_shortcuts.rb +1 -1
  96. data/lib/graphql/schema/member/scoped.rb +19 -0
  97. data/lib/graphql/schema/member/type_system_helpers.rb +1 -2
  98. data/lib/graphql/schema/member/validates_input.rb +3 -3
  99. data/lib/graphql/schema/mutation.rb +7 -0
  100. data/lib/graphql/schema/object.rb +8 -0
  101. data/lib/graphql/schema/printer.rb +8 -7
  102. data/lib/graphql/schema/relay_classic_mutation.rb +6 -128
  103. data/lib/graphql/schema/resolver.rb +27 -13
  104. data/lib/graphql/schema/scalar.rb +3 -3
  105. data/lib/graphql/schema/subscription.rb +11 -4
  106. data/lib/graphql/schema/union.rb +1 -1
  107. data/lib/graphql/schema/unique_within_type.rb +1 -1
  108. data/lib/graphql/schema/warden.rb +96 -95
  109. data/lib/graphql/schema.rb +323 -102
  110. data/lib/graphql/static_validation/all_rules.rb +1 -1
  111. data/lib/graphql/static_validation/base_visitor.rb +1 -1
  112. data/lib/graphql/static_validation/literal_validator.rb +2 -3
  113. data/lib/graphql/static_validation/rules/fields_will_merge.rb +2 -2
  114. data/lib/graphql/static_validation/rules/required_arguments_are_present.rb +1 -1
  115. data/lib/graphql/static_validation/rules/required_input_object_attributes_are_present.rb +2 -2
  116. data/lib/graphql/static_validation/validation_context.rb +5 -5
  117. data/lib/graphql/static_validation/validator.rb +3 -0
  118. data/lib/graphql/static_validation.rb +0 -1
  119. data/lib/graphql/subscriptions/action_cable_subscriptions.rb +4 -3
  120. data/lib/graphql/subscriptions/broadcast_analyzer.rb +1 -1
  121. data/lib/graphql/subscriptions/event.rb +8 -2
  122. data/lib/graphql/subscriptions/serialize.rb +2 -0
  123. data/lib/graphql/subscriptions.rb +15 -13
  124. data/lib/graphql/testing/helpers.rb +151 -0
  125. data/lib/graphql/testing.rb +2 -0
  126. data/lib/graphql/tracing/appoptics_trace.rb +2 -2
  127. data/lib/graphql/tracing/appoptics_tracing.rb +2 -2
  128. data/lib/graphql/tracing/legacy_hooks_trace.rb +74 -0
  129. data/lib/graphql/tracing/platform_tracing.rb +3 -1
  130. data/lib/graphql/tracing/{prometheus_tracing → prometheus_trace}/graphql_collector.rb +3 -1
  131. data/lib/graphql/tracing/prometheus_trace.rb +9 -9
  132. data/lib/graphql/tracing/sentry_trace.rb +112 -0
  133. data/lib/graphql/tracing/trace.rb +1 -0
  134. data/lib/graphql/tracing.rb +3 -1
  135. data/lib/graphql/type_kinds.rb +1 -1
  136. data/lib/graphql/types/iso_8601_duration.rb +77 -0
  137. data/lib/graphql/types/relay/connection_behaviors.rb +32 -2
  138. data/lib/graphql/types/relay/edge_behaviors.rb +7 -0
  139. data/lib/graphql/types.rb +1 -0
  140. data/lib/graphql/version.rb +1 -1
  141. data/lib/graphql.rb +13 -13
  142. data/readme.md +12 -2
  143. metadata +33 -26
  144. data/lib/graphql/analysis/ast/analyzer.rb +0 -84
  145. data/lib/graphql/analysis/ast/field_usage.rb +0 -57
  146. data/lib/graphql/analysis/ast/max_query_complexity.rb +0 -22
  147. data/lib/graphql/analysis/ast/max_query_depth.rb +0 -22
  148. data/lib/graphql/analysis/ast/query_complexity.rb +0 -230
  149. data/lib/graphql/analysis/ast/query_depth.rb +0 -55
  150. data/lib/graphql/analysis/ast/visitor.rb +0 -276
  151. data/lib/graphql/analysis/ast.rb +0 -81
  152. data/lib/graphql/deprecation.rb +0 -9
  153. data/lib/graphql/filter.rb +0 -59
  154. data/lib/graphql/language/parser.y +0 -560
  155. data/lib/graphql/schema/base_64_bp.rb +0 -26
  156. data/lib/graphql/static_validation/type_stack.rb +0 -216
  157. data/lib/graphql/subscriptions/instrumentation.rb +0 -28
@@ -16,30 +16,33 @@ module GraphQL
16
16
  # @return [Integer] The first line of the definition (not the description)
17
17
  attr_reader :definition_line
18
18
 
19
- def initialize(options = {})
20
- @definition_line = options.delete(:definition_line)
21
- super(options)
19
+ def initialize(definition_line: nil, **_rest)
20
+ @definition_line = definition_line
21
+ super(**_rest)
22
22
  end
23
- end
24
23
 
25
- attr_reader :line, :col, :filename
24
+ def marshal_dump
25
+ super << @definition_line
26
+ end
26
27
 
27
- # Initialize a node by extracting its position,
28
- # then calling the class's `initialize_node` method.
29
- # @param options [Hash] Initial attributes for this node
30
- def initialize(options = {})
31
- if options.key?(:position_source)
32
- position_source = options.delete(:position_source)
33
- @line = position_source[1]
34
- @col = position_source[2]
35
- else
36
- @line = options.delete(:line)
37
- @col = options.delete(:col)
28
+ def marshal_load(values)
29
+ @definition_line = values.pop
30
+ super
38
31
  end
32
+ end
39
33
 
40
- @filename = options.delete(:filename)
34
+ attr_reader :filename
41
35
 
42
- initialize_node(**options)
36
+ def line
37
+ @line ||= @source.line_at(@pos)
38
+ end
39
+
40
+ def col
41
+ @col ||= @source.column_at(@pos)
42
+ end
43
+
44
+ def definition_line
45
+ @definition_line ||= (@source && @definition_pos) ? @source.line_at(@definition_pos) : nil
43
46
  end
44
47
 
45
48
  # Value equality
@@ -196,8 +199,8 @@ module GraphQL
196
199
  module_eval <<-RUBY, __FILE__, __LINE__
197
200
  # Singular method: create a node with these options
198
201
  # and return a new `self` which includes that node in this list.
199
- def merge_#{method_name.to_s.sub(/s$/, "")}(node_opts)
200
- merge(#{method_name}: #{method_name} + [#{node_type.name}.new(node_opts)])
202
+ def merge_#{method_name.to_s.sub(/s$/, "")}(**node_opts)
203
+ merge(#{method_name}: #{method_name} + [#{node_type.name}.new(**node_opts)])
201
204
  end
202
205
  RUBY
203
206
  end
@@ -226,13 +229,14 @@ module GraphQL
226
229
  end
227
230
 
228
231
  if defined?(@scalar_methods)
229
- if !method_defined?(:initialize_node)
230
- generate_initialize_node
232
+ if !@initialize_was_generated
233
+ @initialize_was_generated = true
234
+ generate_initialize
231
235
  else
232
236
  # This method was defined manually
233
237
  end
234
238
  else
235
- raise "Can't generate_initialize_node because scalar_methods wasn't called; call it before children_methods"
239
+ raise "Can't generate_initialize because scalar_methods wasn't called; call it before children_methods"
236
240
  end
237
241
  end
238
242
 
@@ -261,7 +265,17 @@ module GraphQL
261
265
  end
262
266
  end
263
267
 
264
- def generate_initialize_node
268
+ DEFAULT_INITIALIZE_OPTIONS = [
269
+ "line: nil",
270
+ "col: nil",
271
+ "pos: nil",
272
+ "filename: nil",
273
+ "source: nil",
274
+ ]
275
+
276
+ def generate_initialize
277
+ return if method_defined?(:marshal_load, false) # checking for `:initialize` doesn't work right
278
+
265
279
  scalar_method_names = @scalar_methods
266
280
  # TODO: These probably should be scalar methods, but `types` returns an array
267
281
  [:types, :description].each do |extra_method|
@@ -270,29 +284,54 @@ module GraphQL
270
284
  end
271
285
  end
272
286
 
273
- all_method_names = scalar_method_names + @children_methods.keys
287
+ children_method_names = @children_methods.keys
288
+
289
+ all_method_names = scalar_method_names + children_method_names
274
290
  if all_method_names.include?(:alias)
275
291
  # Rather than complicating this special case,
276
292
  # let it be overridden (in field)
277
293
  return
278
294
  else
279
295
  arguments = scalar_method_names.map { |m| "#{m}: nil"} +
280
- @children_methods.keys.map { |m| "#{m}: NO_CHILDREN" }
296
+ children_method_names.map { |m| "#{m}: NO_CHILDREN" } +
297
+ DEFAULT_INITIALIZE_OPTIONS
281
298
 
282
299
  assignments = scalar_method_names.map { |m| "@#{m} = #{m}"} +
283
- @children_methods.keys.map { |m| "@#{m} = #{m}.freeze" }
300
+ children_method_names.map { |m| "@#{m} = #{m}.freeze" }
301
+
302
+ if name.end_with?("Definition") && name != "FragmentDefinition"
303
+ arguments << "definition_pos: nil"
304
+ assignments << "@definition_pos = definition_pos"
305
+ end
284
306
 
285
307
  keywords = scalar_method_names.map { |m| "#{m}: #{m}"} +
286
- @children_methods.keys.map { |m| "#{m}: #{m}" }
308
+ children_method_names.map { |m| "#{m}: #{m}" }
287
309
 
288
310
  module_eval <<-RUBY, __FILE__, __LINE__
289
- def initialize_node #{arguments.join(", ")}
311
+ def initialize(#{arguments.join(", ")})
312
+ @line = line
313
+ @col = col
314
+ @pos = pos
315
+ @filename = filename
316
+ @source = source
290
317
  #{assignments.join("\n")}
291
318
  end
292
319
 
293
- def self.from_a(filename, line, col, #{(scalar_method_names + @children_methods.keys).join(", ")})
320
+ def self.from_a(filename, line, col, #{all_method_names.join(", ")})
294
321
  self.new(filename: filename, line: line, col: col, #{keywords.join(", ")})
295
322
  end
323
+
324
+ def marshal_dump
325
+ [
326
+ line, col, # use methods here to force them to be calculated
327
+ @filename,
328
+ #{all_method_names.map { |n| "@#{n}," }.join}
329
+ ]
330
+ end
331
+
332
+ def marshal_load(values)
333
+ @line, @col, @filename #{all_method_names.map { |n| ", @#{n}"}.join} = values
334
+ end
296
335
  RUBY
297
336
  end
298
337
  end
@@ -323,7 +362,7 @@ module GraphQL
323
362
  # @return [String, Float, Integer, Boolean, Array, InputObject, VariableIdentifier] The value passed for this key
324
363
 
325
364
  def children
326
- @children ||= Array(value).flatten.select { |v| v.is_a?(AbstractNode) }
365
+ @children ||= Array(value).flatten.tap { _1.select! { |v| v.is_a?(AbstractNode) } }
327
366
  end
328
367
  end
329
368
 
@@ -336,13 +375,13 @@ module GraphQL
336
375
  end
337
376
 
338
377
  class DirectiveDefinition < AbstractNode
339
- include DefinitionNode
340
378
  attr_reader :description
341
379
  scalar_methods :name, :repeatable
342
380
  children_methods(
343
381
  arguments: Nodes::Argument,
344
382
  locations: Nodes::DirectiveLocation,
345
383
  )
384
+ self.children_method_name = :definitions
346
385
  end
347
386
 
348
387
  # An enum value. The string is available as {#name}.
@@ -355,6 +394,32 @@ module GraphQL
355
394
 
356
395
  # A single selection in a GraphQL query.
357
396
  class Field < AbstractNode
397
+ def initialize(name: nil, arguments: NONE, directives: NONE, selections: NONE, field_alias: nil, line: nil, col: nil, pos: nil, filename: nil, source: nil)
398
+ @name = name
399
+ @arguments = arguments || NONE
400
+ @directives = directives || NONE
401
+ @selections = selections || NONE
402
+ # oops, alias is a keyword:
403
+ @alias = field_alias
404
+ @line = line
405
+ @col = col
406
+ @pos = pos
407
+ @filename = filename
408
+ @source = source
409
+ end
410
+
411
+ def self.from_a(filename, line, col, field_alias, name, arguments, directives, selections) # rubocop:disable Metrics/ParameterLists
412
+ self.new(filename: filename, line: line, col: col, field_alias: field_alias, name: name, arguments: arguments, directives: directives, selections: selections)
413
+ end
414
+
415
+ def marshal_dump
416
+ [line, col, @filename, @name, @arguments, @directives, @selections, @alias]
417
+ end
418
+
419
+ def marshal_load(values)
420
+ @line, @col, @filename, @name, @arguments, @directives, @selections, @alias = values
421
+ end
422
+
358
423
  scalar_methods :name, :alias
359
424
  children_methods({
360
425
  arguments: GraphQL::Language::Nodes::Argument,
@@ -362,44 +427,36 @@ module GraphQL
362
427
  directives: GraphQL::Language::Nodes::Directive,
363
428
  })
364
429
 
365
- # @!attribute selections
366
- # @return [Array<Nodes::Field>] Selections on this object (or empty array if this is a scalar field)
367
-
368
- def initialize_node(attributes)
369
- @name = attributes[:name]
370
- @arguments = attributes[:arguments] || NONE
371
- @directives = attributes[:directives] || NONE
372
- @selections = attributes[:selections] || NONE
373
- # oops, alias is a keyword:
374
- @alias = attributes[:alias]
375
- end
376
-
377
- def self.from_a(filename, line, col, graphql_alias, name, arguments, directives, selections) # rubocop:disable Metrics/ParameterLists
378
- self.new(filename: filename, line: line, col: col, alias: graphql_alias, name: name, arguments: arguments, directives: directives, selections: selections)
379
- end
380
-
381
430
  # Override this because default is `:fields`
382
431
  self.children_method_name = :selections
383
432
  end
384
433
 
385
434
  # A reusable fragment, defined at document-level.
386
435
  class FragmentDefinition < AbstractNode
387
- # @!attribute name
388
- # @return [String] the identifier for this fragment, which may be applied with `...#{name}`
389
-
390
- # @!attribute type
391
- # @return [String] the type condition for this fragment (name of type which it may apply to)
392
- def initialize_node(name: nil, type: nil, directives: [], selections: [])
436
+ def initialize(name: nil, type: nil, directives: NONE, selections: NONE, filename: nil, pos: nil, source: nil, line: nil, col: nil)
393
437
  @name = name
394
438
  @type = type
395
439
  @directives = directives
396
440
  @selections = selections
441
+ @filename = filename
442
+ @pos = pos
443
+ @source = source
444
+ @line = line
445
+ @col = col
397
446
  end
398
447
 
399
448
  def self.from_a(filename, line, col, name, type, directives, selections)
400
449
  self.new(filename: filename, line: line, col: col, name: name, type: type, directives: directives, selections: selections)
401
450
  end
402
451
 
452
+ def marshal_dump
453
+ [line, col, @filename, @name, @type, @directives, @selections]
454
+ end
455
+
456
+ def marshal_load(values)
457
+ @line, @col, @filename, @name, @type, @directives, @selections = values
458
+ end
459
+
403
460
  scalar_methods :name, :type
404
461
  children_methods({
405
462
  selections: GraphQL::Language::Nodes::Field,
@@ -484,7 +541,7 @@ module GraphQL
484
541
  # An operation-level query variable
485
542
  class VariableDefinition < AbstractNode
486
543
  scalar_methods :name, :type, :default_value
487
- children_methods false
544
+ children_methods(directives: Directive)
488
545
  # @!attribute default_value
489
546
  # @return [String, Integer, Float, Boolean, Array, NullValue] A Ruby value to use if no other value is provided
490
547
 
@@ -535,7 +592,7 @@ module GraphQL
535
592
  # @example Creating a custom string from a document
536
593
  # class VariableScrubber < GraphQL::Language::Printer
537
594
  # def print_argument(arg)
538
- # "#{arg.name}: <HIDDEN>"
595
+ # print_string("#{arg.name}: <HIDDEN>")
539
596
  # end
540
597
  # end
541
598
  #
@@ -562,7 +619,6 @@ module GraphQL
562
619
  end
563
620
 
564
621
  class SchemaDefinition < AbstractNode
565
- include DefinitionNode
566
622
  scalar_methods :query, :mutation, :subscription
567
623
  children_methods({
568
624
  directives: GraphQL::Language::Nodes::Directive,
@@ -579,7 +635,6 @@ module GraphQL
579
635
  end
580
636
 
581
637
  class ScalarTypeDefinition < AbstractNode
582
- include DefinitionNode
583
638
  attr_reader :description
584
639
  scalar_methods :name
585
640
  children_methods({
@@ -597,7 +652,6 @@ module GraphQL
597
652
  end
598
653
 
599
654
  class InputValueDefinition < AbstractNode
600
- include DefinitionNode
601
655
  attr_reader :description
602
656
  scalar_methods :name, :type, :default_value
603
657
  children_methods({
@@ -607,7 +661,6 @@ module GraphQL
607
661
  end
608
662
 
609
663
  class FieldDefinition < AbstractNode
610
- include DefinitionNode
611
664
  attr_reader :description
612
665
  scalar_methods :name, :type
613
666
  children_methods({
@@ -628,7 +681,6 @@ module GraphQL
628
681
  end
629
682
 
630
683
  class ObjectTypeDefinition < AbstractNode
631
- include DefinitionNode
632
684
  attr_reader :description
633
685
  scalar_methods :name, :interfaces
634
686
  children_methods({
@@ -648,7 +700,6 @@ module GraphQL
648
700
  end
649
701
 
650
702
  class InterfaceTypeDefinition < AbstractNode
651
- include DefinitionNode
652
703
  attr_reader :description
653
704
  scalar_methods :name
654
705
  children_methods({
@@ -670,7 +721,6 @@ module GraphQL
670
721
  end
671
722
 
672
723
  class UnionTypeDefinition < AbstractNode
673
- include DefinitionNode
674
724
  attr_reader :description, :types
675
725
  scalar_methods :name
676
726
  children_methods({
@@ -689,7 +739,6 @@ module GraphQL
689
739
  end
690
740
 
691
741
  class EnumValueDefinition < AbstractNode
692
- include DefinitionNode
693
742
  attr_reader :description
694
743
  scalar_methods :name
695
744
  children_methods({
@@ -699,7 +748,6 @@ module GraphQL
699
748
  end
700
749
 
701
750
  class EnumTypeDefinition < AbstractNode
702
- include DefinitionNode
703
751
  attr_reader :description
704
752
  scalar_methods :name
705
753
  children_methods({
@@ -719,7 +767,6 @@ module GraphQL
719
767
  end
720
768
 
721
769
  class InputObjectTypeDefinition < AbstractNode
722
- include DefinitionNode
723
770
  attr_reader :description
724
771
  scalar_methods :name
725
772
  children_methods({