graphql 1.9.17 → 2.0.21

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.

Potentially problematic release.


This version of graphql might be problematic. Click here for more details.

Files changed (416) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/graphql/core.rb +21 -10
  3. data/lib/generators/graphql/enum_generator.rb +4 -10
  4. data/lib/generators/graphql/field_extractor.rb +31 -0
  5. data/lib/generators/graphql/input_generator.rb +50 -0
  6. data/lib/generators/graphql/install/mutation_root_generator.rb +34 -0
  7. data/lib/generators/graphql/{templates → install/templates}/base_mutation.erb +2 -0
  8. data/lib/generators/graphql/{templates → install/templates}/mutation_type.erb +2 -0
  9. data/lib/generators/graphql/install_generator.rb +45 -8
  10. data/lib/generators/graphql/interface_generator.rb +7 -7
  11. data/lib/generators/graphql/loader_generator.rb +1 -0
  12. data/lib/generators/graphql/mutation_create_generator.rb +22 -0
  13. data/lib/generators/graphql/mutation_delete_generator.rb +22 -0
  14. data/lib/generators/graphql/mutation_generator.rb +6 -30
  15. data/lib/generators/graphql/mutation_update_generator.rb +22 -0
  16. data/lib/generators/graphql/object_generator.rb +28 -12
  17. data/lib/generators/graphql/orm_mutations_base.rb +40 -0
  18. data/lib/generators/graphql/relay.rb +49 -0
  19. data/lib/generators/graphql/relay_generator.rb +21 -0
  20. data/lib/generators/graphql/scalar_generator.rb +4 -2
  21. data/lib/generators/graphql/templates/base_argument.erb +2 -0
  22. data/lib/generators/graphql/templates/base_connection.erb +8 -0
  23. data/lib/generators/graphql/templates/base_edge.erb +8 -0
  24. data/lib/generators/graphql/templates/base_enum.erb +2 -0
  25. data/lib/generators/graphql/templates/base_field.erb +2 -0
  26. data/lib/generators/graphql/templates/base_input_object.erb +2 -0
  27. data/lib/generators/graphql/templates/base_interface.erb +2 -0
  28. data/lib/generators/graphql/templates/base_object.erb +2 -0
  29. data/lib/generators/graphql/templates/base_scalar.erb +2 -0
  30. data/lib/generators/graphql/templates/base_union.erb +2 -0
  31. data/lib/generators/graphql/templates/enum.erb +7 -1
  32. data/lib/generators/graphql/templates/graphql_controller.erb +16 -12
  33. data/lib/generators/graphql/templates/input.erb +9 -0
  34. data/lib/generators/graphql/templates/interface.erb +6 -2
  35. data/lib/generators/graphql/templates/loader.erb +2 -0
  36. data/lib/generators/graphql/templates/mutation.erb +3 -1
  37. data/lib/generators/graphql/templates/mutation_create.erb +20 -0
  38. data/lib/generators/graphql/templates/mutation_delete.erb +20 -0
  39. data/lib/generators/graphql/templates/mutation_update.erb +21 -0
  40. data/lib/generators/graphql/templates/node_type.erb +9 -0
  41. data/lib/generators/graphql/templates/object.erb +7 -3
  42. data/lib/generators/graphql/templates/query_type.erb +3 -3
  43. data/lib/generators/graphql/templates/scalar.erb +5 -1
  44. data/lib/generators/graphql/templates/schema.erb +25 -27
  45. data/lib/generators/graphql/templates/union.erb +6 -2
  46. data/lib/generators/graphql/type_generator.rb +47 -10
  47. data/lib/generators/graphql/union_generator.rb +5 -5
  48. data/lib/graphql/analysis/ast/field_usage.rb +31 -2
  49. data/lib/graphql/analysis/ast/max_query_complexity.rb +0 -1
  50. data/lib/graphql/analysis/ast/query_complexity.rb +175 -68
  51. data/lib/graphql/analysis/ast/query_depth.rb +0 -1
  52. data/lib/graphql/analysis/ast/visitor.rb +54 -38
  53. data/lib/graphql/analysis/ast.rb +16 -16
  54. data/lib/graphql/analysis.rb +0 -7
  55. data/lib/graphql/backtrace/inspect_result.rb +0 -1
  56. data/lib/graphql/backtrace/table.rb +37 -16
  57. data/lib/graphql/backtrace/trace.rb +96 -0
  58. data/lib/graphql/backtrace/traced_error.rb +0 -1
  59. data/lib/graphql/backtrace/tracer.rb +39 -9
  60. data/lib/graphql/backtrace.rb +26 -18
  61. data/lib/graphql/dataloader/null_dataloader.rb +24 -0
  62. data/lib/graphql/dataloader/request.rb +19 -0
  63. data/lib/graphql/dataloader/request_all.rb +19 -0
  64. data/lib/graphql/dataloader/source.rb +164 -0
  65. data/lib/graphql/dataloader.rb +311 -0
  66. data/lib/graphql/date_encoding_error.rb +16 -0
  67. data/lib/graphql/deprecation.rb +9 -0
  68. data/lib/graphql/dig.rb +1 -1
  69. data/lib/graphql/execution/directive_checks.rb +2 -2
  70. data/lib/graphql/execution/errors.rb +77 -45
  71. data/lib/graphql/execution/interpreter/argument_value.rb +28 -0
  72. data/lib/graphql/execution/interpreter/arguments.rb +88 -0
  73. data/lib/graphql/execution/interpreter/arguments_cache.rb +104 -0
  74. data/lib/graphql/execution/interpreter/handles_raw_value.rb +18 -0
  75. data/lib/graphql/execution/interpreter/resolve.rb +62 -24
  76. data/lib/graphql/execution/interpreter/runtime.rb +830 -417
  77. data/lib/graphql/execution/interpreter.rb +206 -74
  78. data/lib/graphql/execution/lazy/lazy_method_map.rb +4 -0
  79. data/lib/graphql/execution/lazy.rb +11 -21
  80. data/lib/graphql/execution/lookahead.rb +65 -136
  81. data/lib/graphql/execution/multiplex.rb +6 -152
  82. data/lib/graphql/execution.rb +11 -4
  83. data/lib/graphql/filter.rb +8 -3
  84. data/lib/graphql/integer_decoding_error.rb +17 -0
  85. data/lib/graphql/integer_encoding_error.rb +18 -2
  86. data/lib/graphql/introspection/base_object.rb +2 -5
  87. data/lib/graphql/introspection/directive_location_enum.rb +2 -2
  88. data/lib/graphql/introspection/directive_type.rb +12 -6
  89. data/lib/graphql/introspection/dynamic_fields.rb +3 -8
  90. data/lib/graphql/introspection/entry_points.rb +5 -18
  91. data/lib/graphql/introspection/enum_value_type.rb +2 -2
  92. data/lib/graphql/introspection/field_type.rb +9 -5
  93. data/lib/graphql/introspection/input_value_type.rb +41 -11
  94. data/lib/graphql/introspection/introspection_query.rb +6 -92
  95. data/lib/graphql/introspection/schema_type.rb +12 -12
  96. data/lib/graphql/introspection/type_type.rb +34 -17
  97. data/lib/graphql/introspection.rb +100 -0
  98. data/lib/graphql/invalid_null_error.rb +18 -0
  99. data/lib/graphql/language/block_string.rb +20 -5
  100. data/lib/graphql/language/cache.rb +37 -0
  101. data/lib/graphql/language/definition_slice.rb +21 -10
  102. data/lib/graphql/language/document_from_schema_definition.rb +136 -78
  103. data/lib/graphql/language/lexer.rb +216 -1462
  104. data/lib/graphql/language/nodes.rb +129 -132
  105. data/lib/graphql/language/parser.rb +994 -932
  106. data/lib/graphql/language/parser.y +152 -120
  107. data/lib/graphql/language/printer.rb +48 -23
  108. data/lib/graphql/language/sanitized_printer.rb +222 -0
  109. data/lib/graphql/language/token.rb +0 -4
  110. data/lib/graphql/language/visitor.rb +192 -84
  111. data/lib/graphql/language.rb +3 -1
  112. data/lib/graphql/name_validator.rb +2 -7
  113. data/lib/graphql/pagination/active_record_relation_connection.rb +77 -0
  114. data/lib/graphql/pagination/array_connection.rb +79 -0
  115. data/lib/graphql/pagination/connection.rb +253 -0
  116. data/lib/graphql/pagination/connections.rb +135 -0
  117. data/lib/graphql/pagination/mongoid_relation_connection.rb +25 -0
  118. data/lib/graphql/pagination/relation_connection.rb +228 -0
  119. data/lib/graphql/pagination/sequel_dataset_connection.rb +28 -0
  120. data/lib/graphql/pagination.rb +6 -0
  121. data/lib/graphql/parse_error.rb +0 -1
  122. data/lib/graphql/query/context.rb +205 -203
  123. data/lib/graphql/query/fingerprint.rb +26 -0
  124. data/lib/graphql/query/input_validation_result.rb +33 -7
  125. data/lib/graphql/query/null_context.rb +22 -9
  126. data/lib/graphql/query/validation_pipeline.rb +16 -38
  127. data/lib/graphql/query/variable_validation_error.rb +3 -3
  128. data/lib/graphql/query/variables.rb +39 -12
  129. data/lib/graphql/query.rb +95 -43
  130. data/lib/graphql/railtie.rb +6 -102
  131. data/lib/graphql/rake_task/validate.rb +4 -1
  132. data/lib/graphql/rake_task.rb +41 -10
  133. data/lib/graphql/relay/range_add.rb +17 -10
  134. data/lib/graphql/relay.rb +0 -15
  135. data/lib/graphql/rubocop/graphql/base_cop.rb +36 -0
  136. data/lib/graphql/rubocop/graphql/default_null_true.rb +43 -0
  137. data/lib/graphql/rubocop/graphql/default_required_true.rb +43 -0
  138. data/lib/graphql/rubocop.rb +4 -0
  139. data/lib/graphql/schema/addition.rb +245 -0
  140. data/lib/graphql/schema/argument.rb +285 -36
  141. data/lib/graphql/schema/base_64_encoder.rb +2 -0
  142. data/lib/graphql/schema/build_from_definition/resolve_map/default_resolve.rb +1 -1
  143. data/lib/graphql/schema/build_from_definition/resolve_map.rb +13 -5
  144. data/lib/graphql/schema/build_from_definition.rb +348 -205
  145. data/lib/graphql/schema/built_in_types.rb +5 -5
  146. data/lib/graphql/schema/directive/deprecated.rb +18 -0
  147. data/lib/graphql/schema/directive/feature.rb +1 -1
  148. data/lib/graphql/schema/directive/flagged.rb +57 -0
  149. data/lib/graphql/schema/directive/include.rb +2 -2
  150. data/lib/graphql/schema/directive/one_of.rb +12 -0
  151. data/lib/graphql/schema/directive/skip.rb +2 -2
  152. data/lib/graphql/schema/directive/transform.rb +14 -2
  153. data/lib/graphql/schema/directive.rb +134 -15
  154. data/lib/graphql/schema/enum.rb +137 -39
  155. data/lib/graphql/schema/enum_value.rb +17 -23
  156. data/lib/graphql/schema/field/connection_extension.rb +50 -20
  157. data/lib/graphql/schema/field/scope_extension.rb +1 -1
  158. data/lib/graphql/schema/field.rb +504 -331
  159. data/lib/graphql/schema/field_extension.rb +86 -2
  160. data/lib/graphql/schema/find_inherited_value.rb +12 -1
  161. data/lib/graphql/schema/finder.rb +16 -14
  162. data/lib/graphql/schema/input_object.rb +182 -60
  163. data/lib/graphql/schema/interface.rb +24 -49
  164. data/lib/graphql/schema/introspection_system.rb +103 -37
  165. data/lib/graphql/schema/late_bound_type.rb +9 -2
  166. data/lib/graphql/schema/list.rb +61 -3
  167. data/lib/graphql/schema/loader.rb +144 -96
  168. data/lib/graphql/schema/member/base_dsl_methods.rb +41 -37
  169. data/lib/graphql/schema/member/build_type.rb +24 -15
  170. data/lib/graphql/schema/member/has_arguments.rb +310 -26
  171. data/lib/graphql/schema/member/has_ast_node.rb +32 -0
  172. data/lib/graphql/schema/member/has_deprecation_reason.rb +24 -0
  173. data/lib/graphql/schema/member/has_directives.rb +118 -0
  174. data/lib/graphql/schema/member/has_fields.rb +166 -44
  175. data/lib/graphql/schema/member/has_interfaces.rb +129 -0
  176. data/lib/graphql/schema/member/has_unresolved_type_error.rb +15 -0
  177. data/lib/graphql/schema/member/has_validators.rb +57 -0
  178. data/lib/graphql/schema/member/relay_shortcuts.rb +47 -2
  179. data/lib/graphql/schema/member/type_system_helpers.rb +20 -3
  180. data/lib/graphql/schema/member/validates_input.rb +33 -0
  181. data/lib/graphql/schema/member.rb +11 -6
  182. data/lib/graphql/schema/mutation.rb +4 -9
  183. data/lib/graphql/schema/non_null.rb +34 -4
  184. data/lib/graphql/schema/object.rb +36 -60
  185. data/lib/graphql/schema/printer.rb +16 -35
  186. data/lib/graphql/schema/relay_classic_mutation.rb +91 -44
  187. data/lib/graphql/schema/resolver/has_payload_type.rb +51 -11
  188. data/lib/graphql/schema/resolver.rb +147 -94
  189. data/lib/graphql/schema/scalar.rb +40 -15
  190. data/lib/graphql/schema/subscription.rb +60 -31
  191. data/lib/graphql/schema/timeout.rb +45 -35
  192. data/lib/graphql/schema/type_expression.rb +21 -13
  193. data/lib/graphql/schema/type_membership.rb +23 -6
  194. data/lib/graphql/schema/union.rb +49 -15
  195. data/lib/graphql/schema/unique_within_type.rb +1 -2
  196. data/lib/graphql/schema/validator/allow_blank_validator.rb +29 -0
  197. data/lib/graphql/schema/validator/allow_null_validator.rb +26 -0
  198. data/lib/graphql/schema/validator/exclusion_validator.rb +33 -0
  199. data/lib/graphql/schema/validator/format_validator.rb +48 -0
  200. data/lib/graphql/schema/validator/inclusion_validator.rb +35 -0
  201. data/lib/graphql/schema/validator/length_validator.rb +59 -0
  202. data/lib/graphql/schema/validator/numericality_validator.rb +82 -0
  203. data/lib/graphql/schema/validator/required_validator.rb +82 -0
  204. data/lib/graphql/schema/validator.rb +171 -0
  205. data/lib/graphql/schema/warden.rb +213 -35
  206. data/lib/graphql/schema/wrapper.rb +0 -5
  207. data/lib/graphql/schema.rb +857 -884
  208. data/lib/graphql/static_validation/all_rules.rb +3 -0
  209. data/lib/graphql/static_validation/base_visitor.rb +21 -31
  210. data/lib/graphql/static_validation/definition_dependencies.rb +7 -2
  211. data/lib/graphql/static_validation/error.rb +3 -1
  212. data/lib/graphql/static_validation/literal_validator.rb +69 -26
  213. data/lib/graphql/static_validation/rules/argument_literals_are_compatible.rb +45 -83
  214. data/lib/graphql/static_validation/rules/argument_literals_are_compatible_error.rb +22 -6
  215. data/lib/graphql/static_validation/rules/arguments_are_defined.rb +35 -26
  216. data/lib/graphql/static_validation/rules/arguments_are_defined_error.rb +4 -2
  217. data/lib/graphql/static_validation/rules/directives_are_defined.rb +12 -6
  218. data/lib/graphql/static_validation/rules/directives_are_in_valid_locations.rb +14 -14
  219. data/lib/graphql/static_validation/rules/fields_are_defined_on_type.rb +4 -4
  220. data/lib/graphql/static_validation/rules/fields_have_appropriate_selections.rb +15 -7
  221. data/lib/graphql/static_validation/rules/fields_will_merge.rb +96 -53
  222. data/lib/graphql/static_validation/rules/fields_will_merge_error.rb +25 -4
  223. data/lib/graphql/static_validation/rules/fragment_spreads_are_possible.rb +3 -3
  224. data/lib/graphql/static_validation/rules/fragments_are_finite.rb +2 -2
  225. data/lib/graphql/static_validation/rules/input_object_names_are_unique.rb +30 -0
  226. data/lib/graphql/static_validation/rules/input_object_names_are_unique_error.rb +30 -0
  227. data/lib/graphql/static_validation/rules/one_of_input_objects_are_valid.rb +66 -0
  228. data/lib/graphql/static_validation/rules/one_of_input_objects_are_valid_error.rb +29 -0
  229. data/lib/graphql/static_validation/rules/query_root_exists.rb +17 -0
  230. data/lib/graphql/static_validation/rules/query_root_exists_error.rb +26 -0
  231. data/lib/graphql/static_validation/rules/required_arguments_are_present.rb +4 -2
  232. data/lib/graphql/static_validation/rules/required_input_object_attributes_are_present.rb +9 -10
  233. data/lib/graphql/static_validation/rules/unique_directives_per_location.rb +13 -7
  234. data/lib/graphql/static_validation/rules/variable_default_values_are_correctly_typed.rb +12 -13
  235. data/lib/graphql/static_validation/rules/variable_usages_are_allowed.rb +19 -14
  236. data/lib/graphql/static_validation/rules/variables_are_input_types.rb +1 -1
  237. data/lib/graphql/static_validation/rules/variables_are_used_and_defined.rb +5 -3
  238. data/lib/graphql/static_validation/type_stack.rb +2 -2
  239. data/lib/graphql/static_validation/validation_context.rb +13 -3
  240. data/lib/graphql/static_validation/validation_timeout_error.rb +25 -0
  241. data/lib/graphql/static_validation/validator.rb +32 -20
  242. data/lib/graphql/static_validation.rb +1 -2
  243. data/lib/graphql/string_encoding_error.rb +13 -3
  244. data/lib/graphql/subscriptions/action_cable_subscriptions.rb +129 -22
  245. data/lib/graphql/subscriptions/broadcast_analyzer.rb +81 -0
  246. data/lib/graphql/subscriptions/default_subscription_resolve_extension.rb +58 -0
  247. data/lib/graphql/subscriptions/event.rb +84 -35
  248. data/lib/graphql/subscriptions/instrumentation.rb +0 -47
  249. data/lib/graphql/subscriptions/serialize.rb +53 -6
  250. data/lib/graphql/subscriptions.rb +137 -57
  251. data/lib/graphql/tracing/active_support_notifications_trace.rb +16 -0
  252. data/lib/graphql/tracing/active_support_notifications_tracing.rb +8 -17
  253. data/lib/graphql/tracing/appoptics_trace.rb +231 -0
  254. data/lib/graphql/tracing/appoptics_tracing.rb +173 -0
  255. data/lib/graphql/tracing/appsignal_trace.rb +77 -0
  256. data/lib/graphql/tracing/appsignal_tracing.rb +23 -0
  257. data/lib/graphql/tracing/data_dog_trace.rb +148 -0
  258. data/lib/graphql/tracing/data_dog_tracing.rb +34 -2
  259. data/lib/graphql/tracing/legacy_trace.rb +65 -0
  260. data/lib/graphql/tracing/new_relic_trace.rb +75 -0
  261. data/lib/graphql/tracing/new_relic_tracing.rb +9 -12
  262. data/lib/graphql/tracing/notifications_trace.rb +42 -0
  263. data/lib/graphql/tracing/notifications_tracing.rb +59 -0
  264. data/lib/graphql/tracing/platform_trace.rb +109 -0
  265. data/lib/graphql/tracing/platform_tracing.rb +76 -35
  266. data/lib/graphql/tracing/prometheus_trace.rb +89 -0
  267. data/lib/graphql/tracing/prometheus_tracing/graphql_collector.rb +5 -2
  268. data/lib/graphql/tracing/prometheus_tracing.rb +11 -3
  269. data/lib/graphql/tracing/scout_trace.rb +72 -0
  270. data/lib/graphql/tracing/scout_tracing.rb +19 -0
  271. data/lib/graphql/tracing/statsd_trace.rb +56 -0
  272. data/lib/graphql/tracing/statsd_tracing.rb +42 -0
  273. data/lib/graphql/tracing/trace.rb +75 -0
  274. data/lib/graphql/tracing.rb +23 -67
  275. data/lib/graphql/type_kinds.rb +6 -3
  276. data/lib/graphql/types/big_int.rb +5 -1
  277. data/lib/graphql/types/int.rb +10 -3
  278. data/lib/graphql/types/iso_8601_date.rb +20 -9
  279. data/lib/graphql/types/iso_8601_date_time.rb +36 -10
  280. data/lib/graphql/types/relay/base_connection.rb +18 -90
  281. data/lib/graphql/types/relay/base_edge.rb +2 -34
  282. data/lib/graphql/types/relay/connection_behaviors.rb +176 -0
  283. data/lib/graphql/types/relay/edge_behaviors.rb +75 -0
  284. data/lib/graphql/types/relay/has_node_field.rb +41 -0
  285. data/lib/graphql/types/relay/has_nodes_field.rb +41 -0
  286. data/lib/graphql/types/relay/node.rb +2 -4
  287. data/lib/graphql/types/relay/node_behaviors.rb +25 -0
  288. data/lib/graphql/types/relay/page_info.rb +2 -14
  289. data/lib/graphql/types/relay/page_info_behaviors.rb +30 -0
  290. data/lib/graphql/types/relay.rb +10 -5
  291. data/lib/graphql/types/string.rb +8 -2
  292. data/lib/graphql/unauthorized_error.rb +2 -2
  293. data/lib/graphql/unresolved_type_error.rb +2 -2
  294. data/lib/graphql/version.rb +1 -1
  295. data/lib/graphql.rb +63 -65
  296. data/readme.md +3 -6
  297. metadata +127 -236
  298. data/lib/graphql/analysis/analyze_query.rb +0 -91
  299. data/lib/graphql/analysis/field_usage.rb +0 -45
  300. data/lib/graphql/analysis/max_query_complexity.rb +0 -26
  301. data/lib/graphql/analysis/max_query_depth.rb +0 -26
  302. data/lib/graphql/analysis/query_complexity.rb +0 -88
  303. data/lib/graphql/analysis/query_depth.rb +0 -43
  304. data/lib/graphql/analysis/reducer_state.rb +0 -48
  305. data/lib/graphql/argument.rb +0 -159
  306. data/lib/graphql/authorization.rb +0 -82
  307. data/lib/graphql/backwards_compatibility.rb +0 -60
  308. data/lib/graphql/base_type.rb +0 -226
  309. data/lib/graphql/boolean_type.rb +0 -2
  310. data/lib/graphql/compatibility/execution_specification/counter_schema.rb +0 -53
  311. data/lib/graphql/compatibility/execution_specification/specification_schema.rb +0 -200
  312. data/lib/graphql/compatibility/execution_specification.rb +0 -435
  313. data/lib/graphql/compatibility/lazy_execution_specification/lazy_schema.rb +0 -111
  314. data/lib/graphql/compatibility/lazy_execution_specification.rb +0 -213
  315. data/lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb +0 -91
  316. data/lib/graphql/compatibility/query_parser_specification/query_assertions.rb +0 -79
  317. data/lib/graphql/compatibility/query_parser_specification.rb +0 -264
  318. data/lib/graphql/compatibility/schema_parser_specification.rb +0 -680
  319. data/lib/graphql/compatibility.rb +0 -5
  320. data/lib/graphql/define/assign_argument.rb +0 -12
  321. data/lib/graphql/define/assign_connection.rb +0 -13
  322. data/lib/graphql/define/assign_enum_value.rb +0 -18
  323. data/lib/graphql/define/assign_global_id_field.rb +0 -11
  324. data/lib/graphql/define/assign_mutation_function.rb +0 -34
  325. data/lib/graphql/define/assign_object_field.rb +0 -42
  326. data/lib/graphql/define/defined_object_proxy.rb +0 -50
  327. data/lib/graphql/define/instance_definable.rb +0 -300
  328. data/lib/graphql/define/no_definition_error.rb +0 -7
  329. data/lib/graphql/define/non_null_with_bang.rb +0 -16
  330. data/lib/graphql/define/type_definer.rb +0 -31
  331. data/lib/graphql/define.rb +0 -31
  332. data/lib/graphql/deprecated_dsl.rb +0 -42
  333. data/lib/graphql/directive/deprecated_directive.rb +0 -13
  334. data/lib/graphql/directive/include_directive.rb +0 -2
  335. data/lib/graphql/directive/skip_directive.rb +0 -2
  336. data/lib/graphql/directive.rb +0 -104
  337. data/lib/graphql/enum_type.rb +0 -193
  338. data/lib/graphql/execution/execute.rb +0 -326
  339. data/lib/graphql/execution/flatten.rb +0 -40
  340. data/lib/graphql/execution/instrumentation.rb +0 -92
  341. data/lib/graphql/execution/interpreter/hash_response.rb +0 -46
  342. data/lib/graphql/execution/lazy/resolve.rb +0 -91
  343. data/lib/graphql/execution/typecast.rb +0 -50
  344. data/lib/graphql/field/resolve.rb +0 -59
  345. data/lib/graphql/field.rb +0 -330
  346. data/lib/graphql/float_type.rb +0 -2
  347. data/lib/graphql/function.rb +0 -153
  348. data/lib/graphql/id_type.rb +0 -2
  349. data/lib/graphql/input_object_type.rb +0 -154
  350. data/lib/graphql/int_type.rb +0 -2
  351. data/lib/graphql/interface_type.rb +0 -86
  352. data/lib/graphql/internal_representation/document.rb +0 -27
  353. data/lib/graphql/internal_representation/node.rb +0 -206
  354. data/lib/graphql/internal_representation/print.rb +0 -51
  355. data/lib/graphql/internal_representation/rewrite.rb +0 -184
  356. data/lib/graphql/internal_representation/scope.rb +0 -88
  357. data/lib/graphql/internal_representation/visit.rb +0 -36
  358. data/lib/graphql/internal_representation.rb +0 -7
  359. data/lib/graphql/language/lexer.rl +0 -258
  360. data/lib/graphql/list_type.rb +0 -80
  361. data/lib/graphql/literal_validation_error.rb +0 -6
  362. data/lib/graphql/non_null_type.rb +0 -81
  363. data/lib/graphql/object_type.rb +0 -141
  364. data/lib/graphql/query/arguments.rb +0 -187
  365. data/lib/graphql/query/arguments_cache.rb +0 -25
  366. data/lib/graphql/query/executor.rb +0 -53
  367. data/lib/graphql/query/literal_input.rb +0 -116
  368. data/lib/graphql/query/serial_execution/field_resolution.rb +0 -92
  369. data/lib/graphql/query/serial_execution/operation_resolution.rb +0 -19
  370. data/lib/graphql/query/serial_execution/selection_resolution.rb +0 -23
  371. data/lib/graphql/query/serial_execution/value_resolution.rb +0 -87
  372. data/lib/graphql/query/serial_execution.rb +0 -39
  373. data/lib/graphql/relay/array_connection.rb +0 -85
  374. data/lib/graphql/relay/base_connection.rb +0 -172
  375. data/lib/graphql/relay/connection_instrumentation.rb +0 -54
  376. data/lib/graphql/relay/connection_resolve.rb +0 -43
  377. data/lib/graphql/relay/connection_type.rb +0 -40
  378. data/lib/graphql/relay/edge.rb +0 -27
  379. data/lib/graphql/relay/edge_type.rb +0 -18
  380. data/lib/graphql/relay/edges_instrumentation.rb +0 -40
  381. data/lib/graphql/relay/global_id_resolve.rb +0 -18
  382. data/lib/graphql/relay/mongo_relation_connection.rb +0 -50
  383. data/lib/graphql/relay/mutation/instrumentation.rb +0 -23
  384. data/lib/graphql/relay/mutation/resolve.rb +0 -56
  385. data/lib/graphql/relay/mutation/result.rb +0 -38
  386. data/lib/graphql/relay/mutation.rb +0 -190
  387. data/lib/graphql/relay/node.rb +0 -36
  388. data/lib/graphql/relay/page_info.rb +0 -7
  389. data/lib/graphql/relay/relation_connection.rb +0 -190
  390. data/lib/graphql/relay/type_extensions.rb +0 -30
  391. data/lib/graphql/scalar_type.rb +0 -133
  392. data/lib/graphql/schema/catchall_middleware.rb +0 -35
  393. data/lib/graphql/schema/default_parse_error.rb +0 -10
  394. data/lib/graphql/schema/default_type_error.rb +0 -15
  395. data/lib/graphql/schema/member/accepts_definition.rb +0 -152
  396. data/lib/graphql/schema/member/cached_graphql_definition.rb +0 -26
  397. data/lib/graphql/schema/member/instrumentation.rb +0 -132
  398. data/lib/graphql/schema/middleware_chain.rb +0 -82
  399. data/lib/graphql/schema/possible_types.rb +0 -39
  400. data/lib/graphql/schema/rescue_middleware.rb +0 -60
  401. data/lib/graphql/schema/timeout_middleware.rb +0 -86
  402. data/lib/graphql/schema/traversal.rb +0 -228
  403. data/lib/graphql/schema/validation.rb +0 -303
  404. data/lib/graphql/static_validation/default_visitor.rb +0 -15
  405. data/lib/graphql/static_validation/no_validate_visitor.rb +0 -10
  406. data/lib/graphql/string_type.rb +0 -2
  407. data/lib/graphql/subscriptions/subscription_root.rb +0 -66
  408. data/lib/graphql/tracing/skylight_tracing.rb +0 -62
  409. data/lib/graphql/types/relay/base_field.rb +0 -22
  410. data/lib/graphql/types/relay/base_interface.rb +0 -29
  411. data/lib/graphql/types/relay/base_object.rb +0 -26
  412. data/lib/graphql/types/relay/node_field.rb +0 -43
  413. data/lib/graphql/types/relay/nodes_field.rb +0 -45
  414. data/lib/graphql/union_type.rb +0 -128
  415. data/lib/graphql/upgrader/member.rb +0 -936
  416. data/lib/graphql/upgrader/schema.rb +0 -37
@@ -2,6 +2,7 @@
2
2
  module GraphQL
3
3
  module Language
4
4
  module Nodes
5
+ NONE = GraphQL::EmptyObjects::EMPTY_ARRAY
5
6
  # {AbstractNode} is the base class for all nodes in a GraphQL AST.
6
7
  #
7
8
  # It provides some APIs for working with ASTs:
@@ -9,6 +10,7 @@ module GraphQL
9
10
  # - `scalars` returns all scalar (Ruby) values attached to this one. Used for comparing nodes.
10
11
  # - `to_query_string` turns an AST node into a GraphQL string
11
12
  class AbstractNode
13
+
12
14
  module DefinitionNode
13
15
  # This AST node's {#line} returns the first line, which may be the description.
14
16
  # @return [Integer] The first line of the definition (not the description)
@@ -25,28 +27,31 @@ module GraphQL
25
27
  # Initialize a node by extracting its position,
26
28
  # then calling the class's `initialize_node` method.
27
29
  # @param options [Hash] Initial attributes for this node
28
- def initialize(options={})
30
+ def initialize(options = {})
29
31
  if options.key?(:position_source)
30
32
  position_source = options.delete(:position_source)
31
- @line = position_source.line
32
- @col = position_source.col
33
+ @line = position_source[1]
34
+ @col = position_source[2]
35
+ else
36
+ @line = options.delete(:line)
37
+ @col = options.delete(:col)
33
38
  end
34
39
 
35
40
  @filename = options.delete(:filename)
36
41
 
37
- initialize_node(options)
42
+ initialize_node(**options)
38
43
  end
39
44
 
40
45
  # Value equality
41
46
  # @return [Boolean] True if `self` is equivalent to `other`
42
- def eql?(other)
47
+ def ==(other)
43
48
  return true if equal?(other)
44
- other.is_a?(self.class) &&
45
- other.scalars.eql?(self.scalars) &&
46
- other.children.eql?(self.children)
49
+ other.kind_of?(self.class) &&
50
+ other.scalars == self.scalars &&
51
+ other.children == self.children
47
52
  end
48
53
 
49
- NO_CHILDREN = [].freeze
54
+ NO_CHILDREN = GraphQL::EmptyObjects::EMPTY_ARRAY
50
55
 
51
56
  # @return [Array<GraphQL::Language::Nodes::AbstractNode>] all nodes in the tree below this one
52
57
  def children
@@ -65,9 +70,8 @@ module GraphQL
65
70
  @query_string = nil
66
71
  end
67
72
 
68
- # @return [Symbol] the method to call on {Language::Visitor} for this node
69
- def visit_method
70
- raise GraphQL::RequiredImplementationMissingError, "#{self.class.name}#visit_method shold return a symbol"
73
+ def children_method_name
74
+ self.class.children_method_name
71
75
  end
72
76
 
73
77
  def position
@@ -142,17 +146,26 @@ module GraphQL
142
146
  .gsub(/([a-z])([A-Z])/,'\1_\2') # insert underscores
143
147
  .downcase # remove caps
144
148
 
145
- child_class.module_eval <<-RUBY
149
+ child_class.module_eval <<-RUBY, __FILE__, __LINE__
146
150
  def visit_method
147
151
  :on_#{name_underscored}
148
152
  end
149
153
 
150
- def children_method_name
151
- :#{name_underscored}s
154
+ class << self
155
+ attr_accessor :children_method_name
156
+
157
+ def visit_method
158
+ :on_#{name_underscored}
159
+ end
152
160
  end
161
+ self.children_method_name = :#{name_underscored}s
153
162
  RUBY
154
163
  end
155
164
 
165
+ def children_of_type
166
+ @children_methods
167
+ end
168
+
156
169
  private
157
170
 
158
171
  # Name accessors which return lists of nodes,
@@ -161,7 +174,7 @@ module GraphQL
161
174
  # - Add a persistent update method to add a child
162
175
  # - Generate a `#children` method
163
176
  def children_methods(children_of_type)
164
- if @children_methods
177
+ if defined?(@children_methods)
165
178
  raise "Can't re-call .children_methods for #{self} (already have: #{@children_methods})"
166
179
  else
167
180
  @children_methods = children_of_type
@@ -197,14 +210,27 @@ module GraphQL
197
210
  else
198
211
  module_eval <<-RUBY, __FILE__, __LINE__
199
212
  def children
200
- @children ||= (#{children_of_type.keys.map { |k| "@#{k}" }.join(" + ")}).freeze
213
+ @children ||= begin
214
+ if #{children_of_type.keys.map { |k| "@#{k}.any?" }.join(" || ")}
215
+ new_children = []
216
+ #{children_of_type.keys.map { |k| "new_children.concat(@#{k})" }.join("; ")}
217
+ new_children.freeze
218
+ new_children
219
+ else
220
+ NO_CHILDREN
221
+ end
222
+ end
201
223
  end
202
224
  RUBY
203
225
  end
204
226
  end
205
227
 
206
228
  if defined?(@scalar_methods)
207
- generate_initialize_node
229
+ if !method_defined?(:initialize_node)
230
+ generate_initialize_node
231
+ else
232
+ # This method was defined manually
233
+ end
208
234
  else
209
235
  raise "Can't generate_initialize_node because scalar_methods wasn't called; call it before children_methods"
210
236
  end
@@ -214,7 +240,7 @@ module GraphQL
214
240
  # - Add reader methods
215
241
  # - Add a `#scalars` method
216
242
  def scalar_methods(*method_names)
217
- if @scalar_methods
243
+ if defined?(@scalar_methods)
218
244
  raise "Can't re-call .scalar_methods for #{self} (already have: #{@scalar_methods})"
219
245
  else
220
246
  @scalar_methods = method_names
@@ -251,15 +277,22 @@ module GraphQL
251
277
  return
252
278
  else
253
279
  arguments = scalar_method_names.map { |m| "#{m}: nil"} +
254
- @children_methods.keys.map { |m| "#{m}: []" }
280
+ @children_methods.keys.map { |m| "#{m}: NO_CHILDREN" }
255
281
 
256
282
  assignments = scalar_method_names.map { |m| "@#{m} = #{m}"} +
257
283
  @children_methods.keys.map { |m| "@#{m} = #{m}.freeze" }
258
284
 
285
+ keywords = scalar_method_names.map { |m| "#{m}: #{m}"} +
286
+ @children_methods.keys.map { |m| "#{m}: #{m}" }
287
+
259
288
  module_eval <<-RUBY, __FILE__, __LINE__
260
289
  def initialize_node #{arguments.join(", ")}
261
290
  #{assignments.join("\n")}
262
291
  end
292
+
293
+ def self.from_a(filename, line, col, #{(scalar_method_names + @children_methods.keys).join(", ")})
294
+ self.new(filename: filename, line: line, col: col, #{keywords.join(", ")})
295
+ end
263
296
  RUBY
264
297
  end
265
298
  end
@@ -287,7 +320,7 @@ module GraphQL
287
320
  # @return [String] the key for this argument
288
321
 
289
322
  # @!attribute value
290
- # @return [String, Float, Integer, Boolean, Array, InputObject] The value passed for this key
323
+ # @return [String, Float, Integer, Boolean, Array, InputObject, VariableIdentifier] The value passed for this key
291
324
 
292
325
  def children
293
326
  @children ||= Array(value).flatten.select { |v| v.is_a?(AbstractNode) }
@@ -305,42 +338,13 @@ module GraphQL
305
338
  class DirectiveDefinition < AbstractNode
306
339
  include DefinitionNode
307
340
  attr_reader :description
308
- scalar_methods :name
341
+ scalar_methods :name, :repeatable
309
342
  children_methods(
310
- locations: Nodes::DirectiveLocation,
311
343
  arguments: Nodes::Argument,
344
+ locations: Nodes::DirectiveLocation,
312
345
  )
313
346
  end
314
347
 
315
- # This is the AST root for normal queries
316
- #
317
- # @example Deriving a document by parsing a string
318
- # document = GraphQL.parse(query_string)
319
- #
320
- # @example Creating a string from a document
321
- # document.to_query_string
322
- # # { ... }
323
- #
324
- # @example Creating a custom string from a document
325
- # class VariableScrubber < GraphQL::Language::Printer
326
- # def print_argument(arg)
327
- # "#{arg.name}: <HIDDEN>"
328
- # end
329
- # end
330
- #
331
- # document.to_query_string(printer: VariableSrubber.new)
332
- #
333
- class Document < AbstractNode
334
- scalar_methods false
335
- children_methods(definitions: nil)
336
- # @!attribute definitions
337
- # @return [Array<OperationDefinition, FragmentDefinition>] top-level GraphQL units: operations or fragments
338
-
339
- def slice_definition(name)
340
- GraphQL::Language::DefinitionSlice.slice(self, name)
341
- end
342
- end
343
-
344
348
  # An enum value. The string is available as {#name}.
345
349
  class Enum < NameOnlyNode
346
350
  end
@@ -351,8 +355,6 @@ module GraphQL
351
355
 
352
356
  # A single selection in a GraphQL query.
353
357
  class Field < AbstractNode
354
- NONE = [].freeze
355
-
356
358
  scalar_methods :name, :alias
357
359
  children_methods({
358
360
  arguments: GraphQL::Language::Nodes::Argument,
@@ -372,20 +374,16 @@ module GraphQL
372
374
  @alias = attributes[:alias]
373
375
  end
374
376
 
375
- # Override this because default is `:fields`
376
- def children_method_name
377
- :selections
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)
378
379
  end
380
+
381
+ # Override this because default is `:fields`
382
+ self.children_method_name = :selections
379
383
  end
380
384
 
381
385
  # A reusable fragment, defined at document-level.
382
386
  class FragmentDefinition < AbstractNode
383
- scalar_methods :name, :type
384
- children_methods({
385
- selections: GraphQL::Language::Nodes::Field,
386
- directives: GraphQL::Language::Nodes::Directive,
387
- })
388
-
389
387
  # @!attribute name
390
388
  # @return [String] the identifier for this fragment, which may be applied with `...#{name}`
391
389
 
@@ -398,9 +396,17 @@ module GraphQL
398
396
  @selections = selections
399
397
  end
400
398
 
401
- def children_method_name
402
- :definitions
399
+ def self.from_a(filename, line, col, name, type, directives, selections)
400
+ self.new(filename: filename, line: line, col: col, name: name, type: type, directives: directives, selections: selections)
403
401
  end
402
+
403
+ scalar_methods :name, :type
404
+ children_methods({
405
+ selections: GraphQL::Language::Nodes::Field,
406
+ directives: GraphQL::Language::Nodes::Directive,
407
+ })
408
+
409
+ self.children_method_name = :definitions
404
410
  end
405
411
 
406
412
  # Application of a named fragment in a selection
@@ -408,9 +414,7 @@ module GraphQL
408
414
  scalar_methods :name
409
415
  children_methods(directives: GraphQL::Language::Nodes::Directive)
410
416
 
411
- def children_method_name
412
- :selections
413
- end
417
+ self.children_method_name = :selections
414
418
 
415
419
  # @!attribute name
416
420
  # @return [String] The identifier of the fragment to apply, corresponds with {FragmentDefinition#name}
@@ -420,13 +424,11 @@ module GraphQL
420
424
  class InlineFragment < AbstractNode
421
425
  scalar_methods :type
422
426
  children_methods({
423
- selections: GraphQL::Language::Nodes::Field,
424
427
  directives: GraphQL::Language::Nodes::Directive,
428
+ selections: GraphQL::Language::Nodes::Field,
425
429
  })
426
430
 
427
- def children_method_name
428
- :selections
429
- end
431
+ self.children_method_name = :selections
430
432
 
431
433
  # @!attribute type
432
434
  # @return [String, nil] Name of the type this fragment applies to, or `nil` if this fragment applies to any type
@@ -449,9 +451,7 @@ module GraphQL
449
451
  end
450
452
  end
451
453
 
452
- def children_method_name
453
- :value
454
- end
454
+ self.children_method_name = :value
455
455
 
456
456
  private
457
457
 
@@ -473,7 +473,6 @@ module GraphQL
473
473
  end
474
474
  end
475
475
 
476
-
477
476
  # A list type definition, denoted with `[...]` (used for variable type definitions)
478
477
  class ListType < WrapperType
479
478
  end
@@ -494,6 +493,8 @@ module GraphQL
494
493
 
495
494
  # @!attribute name
496
495
  # @return [String] The identifier for this variable, _without_ `$`
496
+
497
+ self.children_method_name = :variables
497
498
  end
498
499
 
499
500
  # A query, mutation or subscription.
@@ -503,12 +504,12 @@ module GraphQL
503
504
  scalar_methods :operation_type, :name
504
505
  children_methods({
505
506
  variables: GraphQL::Language::Nodes::VariableDefinition,
506
- selections: GraphQL::Language::Nodes::Field,
507
507
  directives: GraphQL::Language::Nodes::Directive,
508
+ selections: GraphQL::Language::Nodes::Field,
508
509
  })
509
510
 
510
511
  # @!attribute variables
511
- # @return [Array<VariableDefinition>] Variable definitions for this operation
512
+ # @return [Array<VariableDefinition>] Variable $definitions for this operation
512
513
 
513
514
  # @!attribute selections
514
515
  # @return [Array<Field>] Root-level fields on this operation
@@ -519,8 +520,35 @@ module GraphQL
519
520
  # @!attribute name
520
521
  # @return [String, nil] The name for this operation, or `nil` if unnamed
521
522
 
522
- def children_method_name
523
- :definitions
523
+ self.children_method_name = :definitions
524
+ end
525
+
526
+ # This is the AST root for normal queries
527
+ #
528
+ # @example Deriving a document by parsing a string
529
+ # document = GraphQL.parse(query_string)
530
+ #
531
+ # @example Creating a string from a document
532
+ # document.to_query_string
533
+ # # { ... }
534
+ #
535
+ # @example Creating a custom string from a document
536
+ # class VariableScrubber < GraphQL::Language::Printer
537
+ # def print_argument(arg)
538
+ # "#{arg.name}: <HIDDEN>"
539
+ # end
540
+ # end
541
+ #
542
+ # document.to_query_string(printer: VariableScrubber.new)
543
+ #
544
+ class Document < AbstractNode
545
+ scalar_methods false
546
+ children_methods(definitions: nil)
547
+ # @!attribute definitions
548
+ # @return [Array<OperationDefinition, FragmentDefinition>] top-level GraphQL units: operations or fragments
549
+
550
+ def slice_definition(name)
551
+ GraphQL::Language::DefinitionSlice.slice(self, name)
524
552
  end
525
553
  end
526
554
 
@@ -530,6 +558,7 @@ module GraphQL
530
558
 
531
559
  # Usage of a variable in a query. Name does _not_ include `$`.
532
560
  class VariableIdentifier < NameOnlyNode
561
+ self.children_method_name = :value
533
562
  end
534
563
 
535
564
  class SchemaDefinition < AbstractNode
@@ -538,9 +567,7 @@ module GraphQL
538
567
  children_methods({
539
568
  directives: GraphQL::Language::Nodes::Directive,
540
569
  })
541
- def children_method_name
542
- :definitions
543
- end
570
+ self.children_method_name = :definitions
544
571
  end
545
572
 
546
573
  class SchemaExtension < AbstractNode
@@ -548,9 +575,7 @@ module GraphQL
548
575
  children_methods({
549
576
  directives: GraphQL::Language::Nodes::Directive,
550
577
  })
551
- def children_method_name
552
- :definitions
553
- end
578
+ self.children_method_name = :definitions
554
579
  end
555
580
 
556
581
  class ScalarTypeDefinition < AbstractNode
@@ -560,9 +585,7 @@ module GraphQL
560
585
  children_methods({
561
586
  directives: GraphQL::Language::Nodes::Directive,
562
587
  })
563
- def children_method_name
564
- :definitions
565
- end
588
+ self.children_method_name = :definitions
566
589
  end
567
590
 
568
591
  class ScalarTypeExtension < AbstractNode
@@ -570,9 +593,7 @@ module GraphQL
570
593
  children_methods({
571
594
  directives: GraphQL::Language::Nodes::Directive,
572
595
  })
573
- def children_method_name
574
- :definitions
575
- end
596
+ self.children_method_name = :definitions
576
597
  end
577
598
 
578
599
  class InputValueDefinition < AbstractNode
@@ -582,9 +603,7 @@ module GraphQL
582
603
  children_methods({
583
604
  directives: GraphQL::Language::Nodes::Directive,
584
605
  })
585
- def children_method_name
586
- :fields
587
- end
606
+ self.children_method_name = :fields
588
607
  end
589
608
 
590
609
  class FieldDefinition < AbstractNode
@@ -592,12 +611,10 @@ module GraphQL
592
611
  attr_reader :description
593
612
  scalar_methods :name, :type
594
613
  children_methods({
595
- directives: GraphQL::Language::Nodes::Directive,
596
614
  arguments: GraphQL::Language::Nodes::InputValueDefinition,
615
+ directives: GraphQL::Language::Nodes::Directive,
597
616
  })
598
- def children_method_name
599
- :fields
600
- end
617
+ self.children_method_name = :fields
601
618
 
602
619
  # this is so that `children_method_name` of `InputValueDefinition` works properly
603
620
  # with `#replace_child`
@@ -618,9 +635,7 @@ module GraphQL
618
635
  directives: GraphQL::Language::Nodes::Directive,
619
636
  fields: GraphQL::Language::Nodes::FieldDefinition,
620
637
  })
621
- def children_method_name
622
- :definitions
623
- end
638
+ self.children_method_name = :definitions
624
639
  end
625
640
 
626
641
  class ObjectTypeExtension < AbstractNode
@@ -629,9 +644,7 @@ module GraphQL
629
644
  directives: GraphQL::Language::Nodes::Directive,
630
645
  fields: GraphQL::Language::Nodes::FieldDefinition,
631
646
  })
632
- def children_method_name
633
- :definitions
634
- end
647
+ self.children_method_name = :definitions
635
648
  end
636
649
 
637
650
  class InterfaceTypeDefinition < AbstractNode
@@ -639,23 +652,21 @@ module GraphQL
639
652
  attr_reader :description
640
653
  scalar_methods :name
641
654
  children_methods({
655
+ interfaces: GraphQL::Language::Nodes::TypeName,
642
656
  directives: GraphQL::Language::Nodes::Directive,
643
657
  fields: GraphQL::Language::Nodes::FieldDefinition,
644
658
  })
645
- def children_method_name
646
- :definitions
647
- end
659
+ self.children_method_name = :definitions
648
660
  end
649
661
 
650
662
  class InterfaceTypeExtension < AbstractNode
651
663
  scalar_methods :name
652
664
  children_methods({
665
+ interfaces: GraphQL::Language::Nodes::TypeName,
653
666
  directives: GraphQL::Language::Nodes::Directive,
654
667
  fields: GraphQL::Language::Nodes::FieldDefinition,
655
668
  })
656
- def children_method_name
657
- :definitions
658
- end
669
+ self.children_method_name = :definitions
659
670
  end
660
671
 
661
672
  class UnionTypeDefinition < AbstractNode
@@ -665,9 +676,7 @@ module GraphQL
665
676
  children_methods({
666
677
  directives: GraphQL::Language::Nodes::Directive,
667
678
  })
668
- def children_method_name
669
- :definitions
670
- end
679
+ self.children_method_name = :definitions
671
680
  end
672
681
 
673
682
  class UnionTypeExtension < AbstractNode
@@ -676,9 +685,7 @@ module GraphQL
676
685
  children_methods({
677
686
  directives: GraphQL::Language::Nodes::Directive,
678
687
  })
679
- def children_method_name
680
- :definitions
681
- end
688
+ self.children_method_name = :definitions
682
689
  end
683
690
 
684
691
  class EnumValueDefinition < AbstractNode
@@ -688,9 +695,7 @@ module GraphQL
688
695
  children_methods({
689
696
  directives: GraphQL::Language::Nodes::Directive,
690
697
  })
691
- def children_method_name
692
- :values
693
- end
698
+ self.children_method_name = :values
694
699
  end
695
700
 
696
701
  class EnumTypeDefinition < AbstractNode
@@ -701,9 +706,7 @@ module GraphQL
701
706
  directives: GraphQL::Language::Nodes::Directive,
702
707
  values: GraphQL::Language::Nodes::EnumValueDefinition,
703
708
  })
704
- def children_method_name
705
- :definitions
706
- end
709
+ self.children_method_name = :definitions
707
710
  end
708
711
 
709
712
  class EnumTypeExtension < AbstractNode
@@ -712,9 +715,7 @@ module GraphQL
712
715
  directives: GraphQL::Language::Nodes::Directive,
713
716
  values: GraphQL::Language::Nodes::EnumValueDefinition,
714
717
  })
715
- def children_method_name
716
- :definitions
717
- end
718
+ self.children_method_name = :definitions
718
719
  end
719
720
 
720
721
  class InputObjectTypeDefinition < AbstractNode
@@ -725,9 +726,7 @@ module GraphQL
725
726
  directives: GraphQL::Language::Nodes::Directive,
726
727
  fields: GraphQL::Language::Nodes::InputValueDefinition,
727
728
  })
728
- def children_method_name
729
- :definitions
730
- end
729
+ self.children_method_name = :definitions
731
730
  end
732
731
 
733
732
  class InputObjectTypeExtension < AbstractNode
@@ -736,9 +735,7 @@ module GraphQL
736
735
  directives: GraphQL::Language::Nodes::Directive,
737
736
  fields: GraphQL::Language::Nodes::InputValueDefinition,
738
737
  })
739
- def children_method_name
740
- :definitions
741
- end
738
+ self.children_method_name = :definitions
742
739
  end
743
740
  end
744
741
  end