graphql 1.9.18 → 1.13.24

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 (353) 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 +44 -7
  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 +63 -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 +22 -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/analyze_query.rb +7 -0
  49. data/lib/graphql/analysis/ast/field_usage.rb +29 -2
  50. data/lib/graphql/analysis/ast/query_complexity.rb +174 -67
  51. data/lib/graphql/analysis/ast/visitor.rb +16 -7
  52. data/lib/graphql/analysis/ast.rb +21 -11
  53. data/lib/graphql/argument.rb +8 -36
  54. data/lib/graphql/backtrace/inspect_result.rb +0 -1
  55. data/lib/graphql/backtrace/legacy_tracer.rb +56 -0
  56. data/lib/graphql/backtrace/table.rb +44 -5
  57. data/lib/graphql/backtrace/traced_error.rb +0 -1
  58. data/lib/graphql/backtrace/tracer.rb +40 -9
  59. data/lib/graphql/backtrace.rb +28 -19
  60. data/lib/graphql/backwards_compatibility.rb +2 -1
  61. data/lib/graphql/base_type.rb +10 -4
  62. data/lib/graphql/boolean_type.rb +1 -1
  63. data/lib/graphql/compatibility/execution_specification/specification_schema.rb +2 -2
  64. data/lib/graphql/compatibility/execution_specification.rb +1 -0
  65. data/lib/graphql/compatibility/lazy_execution_specification.rb +2 -0
  66. data/lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb +5 -9
  67. data/lib/graphql/compatibility/query_parser_specification.rb +2 -0
  68. data/lib/graphql/compatibility/schema_parser_specification.rb +2 -0
  69. data/lib/graphql/dataloader/null_dataloader.rb +22 -0
  70. data/lib/graphql/dataloader/request.rb +19 -0
  71. data/lib/graphql/dataloader/request_all.rb +19 -0
  72. data/lib/graphql/dataloader/source.rb +155 -0
  73. data/lib/graphql/dataloader.rb +308 -0
  74. data/lib/graphql/date_encoding_error.rb +16 -0
  75. data/lib/graphql/define/assign_enum_value.rb +1 -1
  76. data/lib/graphql/define/assign_global_id_field.rb +2 -2
  77. data/lib/graphql/define/assign_object_field.rb +1 -1
  78. data/lib/graphql/define/defined_object_proxy.rb +5 -8
  79. data/lib/graphql/define/instance_definable.rb +60 -110
  80. data/lib/graphql/define/type_definer.rb +5 -5
  81. data/lib/graphql/deprecated_dsl.rb +18 -5
  82. data/lib/graphql/deprecation.rb +9 -0
  83. data/lib/graphql/directive/deprecated_directive.rb +1 -12
  84. data/lib/graphql/directive/include_directive.rb +1 -1
  85. data/lib/graphql/directive/skip_directive.rb +1 -1
  86. data/lib/graphql/directive.rb +9 -6
  87. data/lib/graphql/enum_type.rb +14 -74
  88. data/lib/graphql/execution/directive_checks.rb +2 -2
  89. data/lib/graphql/execution/errors.rb +110 -8
  90. data/lib/graphql/execution/execute.rb +8 -1
  91. data/lib/graphql/execution/instrumentation.rb +1 -1
  92. data/lib/graphql/execution/interpreter/argument_value.rb +28 -0
  93. data/lib/graphql/execution/interpreter/arguments.rb +88 -0
  94. data/lib/graphql/execution/interpreter/arguments_cache.rb +105 -0
  95. data/lib/graphql/execution/interpreter/handles_raw_value.rb +18 -0
  96. data/lib/graphql/execution/interpreter/resolve.rb +37 -25
  97. data/lib/graphql/execution/interpreter/runtime.rb +721 -386
  98. data/lib/graphql/execution/interpreter.rb +42 -19
  99. data/lib/graphql/execution/lazy/lazy_method_map.rb +4 -0
  100. data/lib/graphql/execution/lazy.rb +5 -1
  101. data/lib/graphql/execution/lookahead.rb +39 -114
  102. data/lib/graphql/execution/multiplex.rb +50 -25
  103. data/lib/graphql/field.rb +15 -119
  104. data/lib/graphql/filter.rb +1 -1
  105. data/lib/graphql/float_type.rb +1 -1
  106. data/lib/graphql/function.rb +5 -30
  107. data/lib/graphql/id_type.rb +1 -1
  108. data/lib/graphql/input_object_type.rb +9 -25
  109. data/lib/graphql/int_type.rb +1 -1
  110. data/lib/graphql/integer_decoding_error.rb +17 -0
  111. data/lib/graphql/integer_encoding_error.rb +18 -2
  112. data/lib/graphql/interface_type.rb +10 -24
  113. data/lib/graphql/internal_representation/document.rb +2 -2
  114. data/lib/graphql/internal_representation/rewrite.rb +1 -1
  115. data/lib/graphql/internal_representation/scope.rb +2 -2
  116. data/lib/graphql/internal_representation/visit.rb +2 -2
  117. data/lib/graphql/introspection/base_object.rb +2 -5
  118. data/lib/graphql/introspection/directive_location_enum.rb +2 -2
  119. data/lib/graphql/introspection/directive_type.rb +12 -6
  120. data/lib/graphql/introspection/entry_points.rb +9 -9
  121. data/lib/graphql/introspection/enum_value_type.rb +2 -2
  122. data/lib/graphql/introspection/field_type.rb +9 -5
  123. data/lib/graphql/introspection/input_value_type.rb +41 -11
  124. data/lib/graphql/introspection/introspection_query.rb +6 -92
  125. data/lib/graphql/introspection/schema_type.rb +12 -12
  126. data/lib/graphql/introspection/type_type.rb +27 -17
  127. data/lib/graphql/introspection.rb +99 -0
  128. data/lib/graphql/invalid_null_error.rb +18 -0
  129. data/lib/graphql/language/block_string.rb +20 -5
  130. data/lib/graphql/language/cache.rb +37 -0
  131. data/lib/graphql/language/definition_slice.rb +21 -10
  132. data/lib/graphql/language/document_from_schema_definition.rb +116 -63
  133. data/lib/graphql/language/lexer.rb +53 -27
  134. data/lib/graphql/language/lexer.rl +5 -3
  135. data/lib/graphql/language/nodes.rb +67 -93
  136. data/lib/graphql/language/parser.rb +929 -896
  137. data/lib/graphql/language/parser.y +125 -102
  138. data/lib/graphql/language/printer.rb +11 -2
  139. data/lib/graphql/language/sanitized_printer.rb +222 -0
  140. data/lib/graphql/language/token.rb +0 -4
  141. data/lib/graphql/language/visitor.rb +2 -2
  142. data/lib/graphql/language.rb +3 -1
  143. data/lib/graphql/name_validator.rb +2 -7
  144. data/lib/graphql/non_null_type.rb +0 -10
  145. data/lib/graphql/object_type.rb +47 -58
  146. data/lib/graphql/pagination/active_record_relation_connection.rb +85 -0
  147. data/lib/graphql/pagination/array_connection.rb +77 -0
  148. data/lib/graphql/pagination/connection.rb +226 -0
  149. data/lib/graphql/pagination/connections.rb +160 -0
  150. data/lib/graphql/pagination/mongoid_relation_connection.rb +25 -0
  151. data/lib/graphql/pagination/relation_connection.rb +226 -0
  152. data/lib/graphql/pagination/sequel_dataset_connection.rb +28 -0
  153. data/lib/graphql/pagination.rb +6 -0
  154. data/lib/graphql/parse_error.rb +0 -1
  155. data/lib/graphql/query/arguments.rb +6 -4
  156. data/lib/graphql/query/arguments_cache.rb +1 -2
  157. data/lib/graphql/query/context.rb +52 -7
  158. data/lib/graphql/query/executor.rb +0 -1
  159. data/lib/graphql/query/fingerprint.rb +26 -0
  160. data/lib/graphql/query/input_validation_result.rb +32 -6
  161. data/lib/graphql/query/literal_input.rb +31 -11
  162. data/lib/graphql/query/null_context.rb +24 -8
  163. data/lib/graphql/query/serial_execution/field_resolution.rb +1 -1
  164. data/lib/graphql/query/serial_execution.rb +1 -0
  165. data/lib/graphql/query/validation_pipeline.rb +6 -4
  166. data/lib/graphql/query/variable_validation_error.rb +3 -3
  167. data/lib/graphql/query/variables.rb +50 -10
  168. data/lib/graphql/query.rb +77 -18
  169. data/lib/graphql/railtie.rb +9 -1
  170. data/lib/graphql/rake_task/validate.rb +3 -0
  171. data/lib/graphql/rake_task.rb +12 -9
  172. data/lib/graphql/relay/array_connection.rb +10 -12
  173. data/lib/graphql/relay/base_connection.rb +30 -13
  174. data/lib/graphql/relay/connection_instrumentation.rb +4 -4
  175. data/lib/graphql/relay/connection_type.rb +18 -4
  176. data/lib/graphql/relay/edge_type.rb +1 -0
  177. data/lib/graphql/relay/edges_instrumentation.rb +1 -2
  178. data/lib/graphql/relay/global_id_resolve.rb +1 -2
  179. data/lib/graphql/relay/mutation.rb +3 -87
  180. data/lib/graphql/relay/node.rb +3 -0
  181. data/lib/graphql/relay/page_info.rb +1 -1
  182. data/lib/graphql/relay/range_add.rb +27 -9
  183. data/lib/graphql/relay/relation_connection.rb +8 -10
  184. data/lib/graphql/relay/type_extensions.rb +2 -0
  185. data/lib/graphql/rubocop/graphql/base_cop.rb +36 -0
  186. data/lib/graphql/rubocop/graphql/default_null_true.rb +43 -0
  187. data/lib/graphql/rubocop/graphql/default_required_true.rb +43 -0
  188. data/lib/graphql/rubocop.rb +4 -0
  189. data/lib/graphql/scalar_type.rb +18 -60
  190. data/lib/graphql/schema/addition.rb +247 -0
  191. data/lib/graphql/schema/argument.rb +274 -18
  192. data/lib/graphql/schema/base_64_encoder.rb +2 -0
  193. data/lib/graphql/schema/build_from_definition/resolve_map/default_resolve.rb +1 -1
  194. data/lib/graphql/schema/build_from_definition/resolve_map.rb +13 -5
  195. data/lib/graphql/schema/build_from_definition.rb +320 -219
  196. data/lib/graphql/schema/built_in_types.rb +5 -5
  197. data/lib/graphql/schema/default_type_error.rb +2 -0
  198. data/lib/graphql/schema/directive/deprecated.rb +18 -0
  199. data/lib/graphql/schema/directive/feature.rb +1 -1
  200. data/lib/graphql/schema/directive/flagged.rb +57 -0
  201. data/lib/graphql/schema/directive/include.rb +2 -2
  202. data/lib/graphql/schema/directive/skip.rb +2 -2
  203. data/lib/graphql/schema/directive/transform.rb +14 -2
  204. data/lib/graphql/schema/directive.rb +130 -6
  205. data/lib/graphql/schema/enum.rb +121 -12
  206. data/lib/graphql/schema/enum_value.rb +24 -7
  207. data/lib/graphql/schema/field/connection_extension.rb +46 -20
  208. data/lib/graphql/schema/field/scope_extension.rb +1 -1
  209. data/lib/graphql/schema/field.rb +465 -181
  210. data/lib/graphql/schema/field_extension.rb +89 -2
  211. data/lib/graphql/schema/find_inherited_value.rb +17 -1
  212. data/lib/graphql/schema/finder.rb +16 -14
  213. data/lib/graphql/schema/input_object.rb +172 -37
  214. data/lib/graphql/schema/interface.rb +39 -25
  215. data/lib/graphql/schema/introspection_system.rb +106 -38
  216. data/lib/graphql/schema/late_bound_type.rb +3 -2
  217. data/lib/graphql/schema/list.rb +65 -1
  218. data/lib/graphql/schema/loader.rb +145 -102
  219. data/lib/graphql/schema/member/accepts_definition.rb +15 -3
  220. data/lib/graphql/schema/member/base_dsl_methods.rb +34 -28
  221. data/lib/graphql/schema/member/build_type.rb +19 -8
  222. data/lib/graphql/schema/member/cached_graphql_definition.rb +34 -2
  223. data/lib/graphql/schema/member/has_arguments.rb +206 -13
  224. data/lib/graphql/schema/member/has_ast_node.rb +20 -0
  225. data/lib/graphql/schema/member/has_deprecation_reason.rb +25 -0
  226. data/lib/graphql/schema/member/has_directives.rb +98 -0
  227. data/lib/graphql/schema/member/has_fields.rb +97 -32
  228. data/lib/graphql/schema/member/has_interfaces.rb +100 -0
  229. data/lib/graphql/schema/member/has_unresolved_type_error.rb +15 -0
  230. data/lib/graphql/schema/member/has_validators.rb +31 -0
  231. data/lib/graphql/schema/member/instrumentation.rb +0 -1
  232. data/lib/graphql/schema/member/type_system_helpers.rb +3 -3
  233. data/lib/graphql/schema/member/validates_input.rb +33 -0
  234. data/lib/graphql/schema/member.rb +11 -0
  235. data/lib/graphql/schema/middleware_chain.rb +1 -1
  236. data/lib/graphql/schema/mutation.rb +4 -0
  237. data/lib/graphql/schema/non_null.rb +37 -1
  238. data/lib/graphql/schema/object.rb +51 -38
  239. data/lib/graphql/schema/possible_types.rb +9 -4
  240. data/lib/graphql/schema/printer.rb +16 -35
  241. data/lib/graphql/schema/relay_classic_mutation.rb +40 -4
  242. data/lib/graphql/schema/resolver/has_payload_type.rb +34 -4
  243. data/lib/graphql/schema/resolver.rb +133 -79
  244. data/lib/graphql/schema/scalar.rb +43 -3
  245. data/lib/graphql/schema/subscription.rb +57 -21
  246. data/lib/graphql/schema/timeout.rb +29 -15
  247. data/lib/graphql/schema/timeout_middleware.rb +3 -1
  248. data/lib/graphql/schema/traversal.rb +2 -2
  249. data/lib/graphql/schema/type_expression.rb +21 -13
  250. data/lib/graphql/schema/type_membership.rb +19 -5
  251. data/lib/graphql/schema/union.rb +44 -3
  252. data/lib/graphql/schema/unique_within_type.rb +1 -2
  253. data/lib/graphql/schema/validation.rb +14 -4
  254. data/lib/graphql/schema/validator/allow_blank_validator.rb +29 -0
  255. data/lib/graphql/schema/validator/allow_null_validator.rb +26 -0
  256. data/lib/graphql/schema/validator/exclusion_validator.rb +33 -0
  257. data/lib/graphql/schema/validator/format_validator.rb +48 -0
  258. data/lib/graphql/schema/validator/inclusion_validator.rb +35 -0
  259. data/lib/graphql/schema/validator/length_validator.rb +59 -0
  260. data/lib/graphql/schema/validator/numericality_validator.rb +82 -0
  261. data/lib/graphql/schema/validator/required_validator.rb +82 -0
  262. data/lib/graphql/schema/validator.rb +171 -0
  263. data/lib/graphql/schema/warden.rb +193 -34
  264. data/lib/graphql/schema.rb +882 -247
  265. data/lib/graphql/static_validation/all_rules.rb +2 -0
  266. data/lib/graphql/static_validation/base_visitor.rb +17 -10
  267. data/lib/graphql/static_validation/definition_dependencies.rb +0 -1
  268. data/lib/graphql/static_validation/error.rb +3 -1
  269. data/lib/graphql/static_validation/literal_validator.rb +51 -26
  270. data/lib/graphql/static_validation/rules/argument_literals_are_compatible.rb +45 -83
  271. data/lib/graphql/static_validation/rules/argument_literals_are_compatible_error.rb +22 -6
  272. data/lib/graphql/static_validation/rules/arguments_are_defined.rb +35 -26
  273. data/lib/graphql/static_validation/rules/arguments_are_defined_error.rb +4 -2
  274. data/lib/graphql/static_validation/rules/directives_are_defined.rb +1 -1
  275. data/lib/graphql/static_validation/rules/directives_are_in_valid_locations.rb +2 -2
  276. data/lib/graphql/static_validation/rules/fields_are_defined_on_type.rb +4 -4
  277. data/lib/graphql/static_validation/rules/fields_have_appropriate_selections.rb +5 -5
  278. data/lib/graphql/static_validation/rules/fields_will_merge.rb +94 -51
  279. data/lib/graphql/static_validation/rules/fields_will_merge_error.rb +25 -4
  280. data/lib/graphql/static_validation/rules/fragment_spreads_are_possible.rb +3 -3
  281. data/lib/graphql/static_validation/rules/fragments_are_finite.rb +2 -2
  282. data/lib/graphql/static_validation/rules/input_object_names_are_unique.rb +30 -0
  283. data/lib/graphql/static_validation/rules/input_object_names_are_unique_error.rb +30 -0
  284. data/lib/graphql/static_validation/rules/query_root_exists.rb +17 -0
  285. data/lib/graphql/static_validation/rules/query_root_exists_error.rb +26 -0
  286. data/lib/graphql/static_validation/rules/required_arguments_are_present.rb +4 -2
  287. data/lib/graphql/static_validation/rules/required_input_object_attributes_are_present.rb +9 -10
  288. data/lib/graphql/static_validation/rules/unique_directives_per_location.rb +1 -1
  289. data/lib/graphql/static_validation/rules/variable_default_values_are_correctly_typed.rb +12 -13
  290. data/lib/graphql/static_validation/rules/variable_usages_are_allowed.rb +19 -14
  291. data/lib/graphql/static_validation/rules/variables_are_input_types.rb +1 -1
  292. data/lib/graphql/static_validation/rules/variables_are_used_and_defined.rb +5 -3
  293. data/lib/graphql/static_validation/type_stack.rb +2 -2
  294. data/lib/graphql/static_validation/validation_context.rb +13 -3
  295. data/lib/graphql/static_validation/validation_timeout_error.rb +25 -0
  296. data/lib/graphql/static_validation/validator.rb +43 -9
  297. data/lib/graphql/static_validation.rb +1 -0
  298. data/lib/graphql/string_encoding_error.rb +13 -3
  299. data/lib/graphql/string_type.rb +1 -1
  300. data/lib/graphql/subscriptions/action_cable_subscriptions.rb +123 -22
  301. data/lib/graphql/subscriptions/broadcast_analyzer.rb +81 -0
  302. data/lib/graphql/subscriptions/default_subscription_resolve_extension.rb +21 -0
  303. data/lib/graphql/subscriptions/event.rb +84 -30
  304. data/lib/graphql/subscriptions/instrumentation.rb +10 -6
  305. data/lib/graphql/subscriptions/serialize.rb +53 -6
  306. data/lib/graphql/subscriptions/subscription_root.rb +15 -5
  307. data/lib/graphql/subscriptions.rb +117 -49
  308. data/lib/graphql/tracing/active_support_notifications_tracing.rb +8 -17
  309. data/lib/graphql/tracing/appoptics_tracing.rb +173 -0
  310. data/lib/graphql/tracing/appsignal_tracing.rb +23 -0
  311. data/lib/graphql/tracing/data_dog_tracing.rb +32 -15
  312. data/lib/graphql/tracing/new_relic_tracing.rb +9 -12
  313. data/lib/graphql/tracing/notifications_tracing.rb +59 -0
  314. data/lib/graphql/tracing/platform_tracing.rb +66 -10
  315. data/lib/graphql/tracing/prometheus_tracing/graphql_collector.rb +4 -1
  316. data/lib/graphql/tracing/prometheus_tracing.rb +8 -0
  317. data/lib/graphql/tracing/scout_tracing.rb +19 -0
  318. data/lib/graphql/tracing/skylight_tracing.rb +9 -1
  319. data/lib/graphql/tracing/statsd_tracing.rb +42 -0
  320. data/lib/graphql/tracing.rb +15 -35
  321. data/lib/graphql/types/big_int.rb +5 -1
  322. data/lib/graphql/types/int.rb +10 -3
  323. data/lib/graphql/types/iso_8601_date.rb +16 -8
  324. data/lib/graphql/types/iso_8601_date_time.rb +32 -10
  325. data/lib/graphql/types/relay/base_connection.rb +6 -88
  326. data/lib/graphql/types/relay/base_edge.rb +2 -34
  327. data/lib/graphql/types/relay/connection_behaviors.rb +174 -0
  328. data/lib/graphql/types/relay/default_relay.rb +31 -0
  329. data/lib/graphql/types/relay/edge_behaviors.rb +64 -0
  330. data/lib/graphql/types/relay/has_node_field.rb +41 -0
  331. data/lib/graphql/types/relay/has_nodes_field.rb +41 -0
  332. data/lib/graphql/types/relay/node.rb +2 -4
  333. data/lib/graphql/types/relay/node_behaviors.rb +15 -0
  334. data/lib/graphql/types/relay/node_field.rb +3 -22
  335. data/lib/graphql/types/relay/nodes_field.rb +16 -18
  336. data/lib/graphql/types/relay/page_info.rb +2 -14
  337. data/lib/graphql/types/relay/page_info_behaviors.rb +25 -0
  338. data/lib/graphql/types/relay.rb +11 -3
  339. data/lib/graphql/types/string.rb +8 -2
  340. data/lib/graphql/unauthorized_error.rb +2 -2
  341. data/lib/graphql/union_type.rb +5 -25
  342. data/lib/graphql/unresolved_type_error.rb +2 -2
  343. data/lib/graphql/upgrader/member.rb +1 -0
  344. data/lib/graphql/upgrader/schema.rb +1 -0
  345. data/lib/graphql/version.rb +1 -1
  346. data/lib/graphql.rb +87 -31
  347. data/readme.md +3 -6
  348. metadata +126 -124
  349. data/lib/graphql/execution/interpreter/hash_response.rb +0 -46
  350. data/lib/graphql/literal_validation_error.rb +0 -6
  351. data/lib/graphql/types/relay/base_field.rb +0 -22
  352. data/lib/graphql/types/relay/base_interface.rb +0 -29
  353. data/lib/graphql/types/relay/base_object.rb +0 -26
metadata CHANGED
@@ -1,23 +1,22 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.18
4
+ version: 1.13.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Mosolgo
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2020-01-15 00:00:00.000000000 Z
10
+ date: 2025-03-12 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: benchmark-ips
13
+ name: base64
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
18
  version: '0'
20
- type: :development
19
+ type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
@@ -25,19 +24,19 @@ dependencies:
25
24
  - !ruby/object:Gem::Version
26
25
  version: '0'
27
26
  - !ruby/object:Gem::Dependency
28
- name: codeclimate-test-reporter
27
+ name: benchmark-ips
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
- - - "~>"
30
+ - - ">="
32
31
  - !ruby/object:Gem::Version
33
- version: '0.4'
32
+ version: '0'
34
33
  type: :development
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
- - - "~>"
37
+ - - ">="
39
38
  - !ruby/object:Gem::Version
40
- version: '0.4'
39
+ version: '0'
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: concurrent-ruby
43
42
  requirement: !ruby/object:Gem::Requirement
@@ -53,35 +52,7 @@ dependencies:
53
52
  - !ruby/object:Gem::Version
54
53
  version: '1.0'
55
54
  - !ruby/object:Gem::Dependency
56
- name: guard
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '2.12'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '2.12'
69
- - !ruby/object:Gem::Dependency
70
- name: guard-minitest
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '2.4'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '2.4'
83
- - !ruby/object:Gem::Dependency
84
- name: guard-rake
55
+ name: memory_profiler
85
56
  requirement: !ruby/object:Gem::Requirement
86
57
  requirements:
87
58
  - - ">="
@@ -95,7 +66,7 @@ dependencies:
95
66
  - !ruby/object:Gem::Version
96
67
  version: '0'
97
68
  - !ruby/object:Gem::Dependency
98
- name: guard-rubocop
69
+ name: minitest
99
70
  requirement: !ruby/object:Gem::Requirement
100
71
  requirements:
101
72
  - - ">="
@@ -109,21 +80,7 @@ dependencies:
109
80
  - !ruby/object:Gem::Version
110
81
  version: '0'
111
82
  - !ruby/object:Gem::Dependency
112
- name: listen
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: 3.0.0
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: 3.0.0
125
- - !ruby/object:Gem::Dependency
126
- name: memory_profiler
83
+ name: minitest-focus
127
84
  requirement: !ruby/object:Gem::Requirement
128
85
  requirements:
129
86
  - - ">="
@@ -136,104 +93,62 @@ dependencies:
136
93
  - - ">="
137
94
  - !ruby/object:Gem::Version
138
95
  version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: minitest
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: 5.9.0
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: 5.9.0
153
- - !ruby/object:Gem::Dependency
154
- name: minitest-focus
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "~>"
158
- - !ruby/object:Gem::Version
159
- version: '1.1'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
165
- - !ruby/object:Gem::Version
166
- version: '1.1'
167
96
  - !ruby/object:Gem::Dependency
168
97
  name: minitest-reporters
169
98
  requirement: !ruby/object:Gem::Requirement
170
99
  requirements:
171
- - - "~>"
100
+ - - ">="
172
101
  - !ruby/object:Gem::Version
173
- version: '1.0'
102
+ version: '0'
174
103
  type: :development
175
104
  prerelease: false
176
105
  version_requirements: !ruby/object:Gem::Requirement
177
106
  requirements:
178
- - - "~>"
107
+ - - ">="
179
108
  - !ruby/object:Gem::Version
180
- version: '1.0'
109
+ version: '0'
181
110
  - !ruby/object:Gem::Dependency
182
- name: racc
111
+ name: rake
183
112
  requirement: !ruby/object:Gem::Requirement
184
113
  requirements:
185
- - - "~>"
114
+ - - ">="
186
115
  - !ruby/object:Gem::Version
187
- version: '1.4'
116
+ version: '0'
188
117
  type: :development
189
118
  prerelease: false
190
119
  version_requirements: !ruby/object:Gem::Requirement
191
120
  requirements:
192
- - - "~>"
121
+ - - ">="
193
122
  - !ruby/object:Gem::Version
194
- version: '1.4'
123
+ version: '0'
195
124
  - !ruby/object:Gem::Dependency
196
- name: rake
125
+ name: rake-compiler
197
126
  requirement: !ruby/object:Gem::Requirement
198
127
  requirements:
199
- - - "~>"
128
+ - - ">="
200
129
  - !ruby/object:Gem::Version
201
- version: '12'
130
+ version: '0'
202
131
  type: :development
203
132
  prerelease: false
204
133
  version_requirements: !ruby/object:Gem::Requirement
205
134
  requirements:
206
- - - "~>"
135
+ - - ">="
207
136
  - !ruby/object:Gem::Version
208
- version: '12'
137
+ version: '0'
209
138
  - !ruby/object:Gem::Dependency
210
139
  name: rubocop
211
140
  requirement: !ruby/object:Gem::Requirement
212
141
  requirements:
213
142
  - - '='
214
143
  - !ruby/object:Gem::Version
215
- version: '0.68'
144
+ version: '1.12'
216
145
  type: :development
217
146
  prerelease: false
218
147
  version_requirements: !ruby/object:Gem::Requirement
219
148
  requirements:
220
149
  - - '='
221
150
  - !ruby/object:Gem::Version
222
- version: '0.68'
223
- - !ruby/object:Gem::Dependency
224
- name: appraisal
225
- requirement: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- version: '0'
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- requirements:
234
- - - ">="
235
- - !ruby/object:Gem::Version
236
- version: '0'
151
+ version: '1.12'
237
152
  - !ruby/object:Gem::Dependency
238
153
  name: parser
239
154
  requirement: !ruby/object:Gem::Requirement
@@ -318,6 +233,20 @@ dependencies:
318
233
  - - "~>"
319
234
  - !ruby/object:Gem::Version
320
235
  version: 1.5.0
236
+ - !ruby/object:Gem::Dependency
237
+ name: webrick
238
+ requirement: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: '0'
243
+ type: :development
244
+ prerelease: false
245
+ version_requirements: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - ">="
248
+ - !ruby/object:Gem::Version
249
+ version: '0'
321
250
  description: A plain-Ruby implementation of GraphQL.
322
251
  email:
323
252
  - rdmosolgo@gmail.com
@@ -329,27 +258,43 @@ files:
329
258
  - MIT-LICENSE
330
259
  - lib/generators/graphql/core.rb
331
260
  - lib/generators/graphql/enum_generator.rb
261
+ - lib/generators/graphql/field_extractor.rb
262
+ - lib/generators/graphql/input_generator.rb
263
+ - lib/generators/graphql/install/mutation_root_generator.rb
264
+ - lib/generators/graphql/install/templates/base_mutation.erb
265
+ - lib/generators/graphql/install/templates/mutation_type.erb
332
266
  - lib/generators/graphql/install_generator.rb
333
267
  - lib/generators/graphql/interface_generator.rb
334
268
  - lib/generators/graphql/loader_generator.rb
269
+ - lib/generators/graphql/mutation_create_generator.rb
270
+ - lib/generators/graphql/mutation_delete_generator.rb
335
271
  - lib/generators/graphql/mutation_generator.rb
272
+ - lib/generators/graphql/mutation_update_generator.rb
336
273
  - lib/generators/graphql/object_generator.rb
274
+ - lib/generators/graphql/orm_mutations_base.rb
275
+ - lib/generators/graphql/relay.rb
276
+ - lib/generators/graphql/relay_generator.rb
337
277
  - lib/generators/graphql/scalar_generator.rb
338
278
  - lib/generators/graphql/templates/base_argument.erb
279
+ - lib/generators/graphql/templates/base_connection.erb
280
+ - lib/generators/graphql/templates/base_edge.erb
339
281
  - lib/generators/graphql/templates/base_enum.erb
340
282
  - lib/generators/graphql/templates/base_field.erb
341
283
  - lib/generators/graphql/templates/base_input_object.erb
342
284
  - lib/generators/graphql/templates/base_interface.erb
343
- - lib/generators/graphql/templates/base_mutation.erb
344
285
  - lib/generators/graphql/templates/base_object.erb
345
286
  - lib/generators/graphql/templates/base_scalar.erb
346
287
  - lib/generators/graphql/templates/base_union.erb
347
288
  - lib/generators/graphql/templates/enum.erb
348
289
  - lib/generators/graphql/templates/graphql_controller.erb
290
+ - lib/generators/graphql/templates/input.erb
349
291
  - lib/generators/graphql/templates/interface.erb
350
292
  - lib/generators/graphql/templates/loader.erb
351
293
  - lib/generators/graphql/templates/mutation.erb
352
- - lib/generators/graphql/templates/mutation_type.erb
294
+ - lib/generators/graphql/templates/mutation_create.erb
295
+ - lib/generators/graphql/templates/mutation_delete.erb
296
+ - lib/generators/graphql/templates/mutation_update.erb
297
+ - lib/generators/graphql/templates/node_type.erb
353
298
  - lib/generators/graphql/templates/object.erb
354
299
  - lib/generators/graphql/templates/query_type.erb
355
300
  - lib/generators/graphql/templates/scalar.erb
@@ -379,6 +324,7 @@ files:
379
324
  - lib/graphql/authorization.rb
380
325
  - lib/graphql/backtrace.rb
381
326
  - lib/graphql/backtrace/inspect_result.rb
327
+ - lib/graphql/backtrace/legacy_tracer.rb
382
328
  - lib/graphql/backtrace/table.rb
383
329
  - lib/graphql/backtrace/traced_error.rb
384
330
  - lib/graphql/backtrace/tracer.rb
@@ -396,6 +342,12 @@ files:
396
342
  - lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb
397
343
  - lib/graphql/compatibility/query_parser_specification/query_assertions.rb
398
344
  - lib/graphql/compatibility/schema_parser_specification.rb
345
+ - lib/graphql/dataloader.rb
346
+ - lib/graphql/dataloader/null_dataloader.rb
347
+ - lib/graphql/dataloader/request.rb
348
+ - lib/graphql/dataloader/request_all.rb
349
+ - lib/graphql/dataloader/source.rb
350
+ - lib/graphql/date_encoding_error.rb
399
351
  - lib/graphql/define.rb
400
352
  - lib/graphql/define/assign_argument.rb
401
353
  - lib/graphql/define/assign_connection.rb
@@ -409,6 +361,7 @@ files:
409
361
  - lib/graphql/define/non_null_with_bang.rb
410
362
  - lib/graphql/define/type_definer.rb
411
363
  - lib/graphql/deprecated_dsl.rb
364
+ - lib/graphql/deprecation.rb
412
365
  - lib/graphql/dig.rb
413
366
  - lib/graphql/directive.rb
414
367
  - lib/graphql/directive/deprecated_directive.rb
@@ -422,8 +375,11 @@ files:
422
375
  - lib/graphql/execution/flatten.rb
423
376
  - lib/graphql/execution/instrumentation.rb
424
377
  - lib/graphql/execution/interpreter.rb
378
+ - lib/graphql/execution/interpreter/argument_value.rb
379
+ - lib/graphql/execution/interpreter/arguments.rb
380
+ - lib/graphql/execution/interpreter/arguments_cache.rb
425
381
  - lib/graphql/execution/interpreter/execution_errors.rb
426
- - lib/graphql/execution/interpreter/hash_response.rb
382
+ - lib/graphql/execution/interpreter/handles_raw_value.rb
427
383
  - lib/graphql/execution/interpreter/resolve.rb
428
384
  - lib/graphql/execution/interpreter/runtime.rb
429
385
  - lib/graphql/execution/lazy.rb
@@ -441,6 +397,7 @@ files:
441
397
  - lib/graphql/id_type.rb
442
398
  - lib/graphql/input_object_type.rb
443
399
  - lib/graphql/int_type.rb
400
+ - lib/graphql/integer_decoding_error.rb
444
401
  - lib/graphql/integer_encoding_error.rb
445
402
  - lib/graphql/interface_type.rb
446
403
  - lib/graphql/internal_representation.rb
@@ -467,6 +424,7 @@ files:
467
424
  - lib/graphql/invalid_null_error.rb
468
425
  - lib/graphql/language.rb
469
426
  - lib/graphql/language/block_string.rb
427
+ - lib/graphql/language/cache.rb
470
428
  - lib/graphql/language/definition_slice.rb
471
429
  - lib/graphql/language/document_from_schema_definition.rb
472
430
  - lib/graphql/language/generation.rb
@@ -476,20 +434,29 @@ files:
476
434
  - lib/graphql/language/parser.rb
477
435
  - lib/graphql/language/parser.y
478
436
  - lib/graphql/language/printer.rb
437
+ - lib/graphql/language/sanitized_printer.rb
479
438
  - lib/graphql/language/token.rb
480
439
  - lib/graphql/language/visitor.rb
481
440
  - lib/graphql/list_type.rb
482
- - lib/graphql/literal_validation_error.rb
483
441
  - lib/graphql/load_application_object_failed_error.rb
484
442
  - lib/graphql/name_validator.rb
485
443
  - lib/graphql/non_null_type.rb
486
444
  - lib/graphql/object_type.rb
445
+ - lib/graphql/pagination.rb
446
+ - lib/graphql/pagination/active_record_relation_connection.rb
447
+ - lib/graphql/pagination/array_connection.rb
448
+ - lib/graphql/pagination/connection.rb
449
+ - lib/graphql/pagination/connections.rb
450
+ - lib/graphql/pagination/mongoid_relation_connection.rb
451
+ - lib/graphql/pagination/relation_connection.rb
452
+ - lib/graphql/pagination/sequel_dataset_connection.rb
487
453
  - lib/graphql/parse_error.rb
488
454
  - lib/graphql/query.rb
489
455
  - lib/graphql/query/arguments.rb
490
456
  - lib/graphql/query/arguments_cache.rb
491
457
  - lib/graphql/query/context.rb
492
458
  - lib/graphql/query/executor.rb
459
+ - lib/graphql/query/fingerprint.rb
493
460
  - lib/graphql/query/input_validation_result.rb
494
461
  - lib/graphql/query/literal_input.rb
495
462
  - lib/graphql/query/null_context.rb
@@ -525,9 +492,14 @@ files:
525
492
  - lib/graphql/relay/range_add.rb
526
493
  - lib/graphql/relay/relation_connection.rb
527
494
  - lib/graphql/relay/type_extensions.rb
495
+ - lib/graphql/rubocop.rb
496
+ - lib/graphql/rubocop/graphql/base_cop.rb
497
+ - lib/graphql/rubocop/graphql/default_null_true.rb
498
+ - lib/graphql/rubocop/graphql/default_required_true.rb
528
499
  - lib/graphql/runtime_type_error.rb
529
500
  - lib/graphql/scalar_type.rb
530
501
  - lib/graphql/schema.rb
502
+ - lib/graphql/schema/addition.rb
531
503
  - lib/graphql/schema/argument.rb
532
504
  - lib/graphql/schema/base_64_bp.rb
533
505
  - lib/graphql/schema/base_64_encoder.rb
@@ -539,7 +511,9 @@ files:
539
511
  - lib/graphql/schema/default_parse_error.rb
540
512
  - lib/graphql/schema/default_type_error.rb
541
513
  - lib/graphql/schema/directive.rb
514
+ - lib/graphql/schema/directive/deprecated.rb
542
515
  - lib/graphql/schema/directive/feature.rb
516
+ - lib/graphql/schema/directive/flagged.rb
543
517
  - lib/graphql/schema/directive/include.rb
544
518
  - lib/graphql/schema/directive/skip.rb
545
519
  - lib/graphql/schema/directive/transform.rb
@@ -565,12 +539,19 @@ files:
565
539
  - lib/graphql/schema/member/cached_graphql_definition.rb
566
540
  - lib/graphql/schema/member/graphql_type_names.rb
567
541
  - lib/graphql/schema/member/has_arguments.rb
542
+ - lib/graphql/schema/member/has_ast_node.rb
543
+ - lib/graphql/schema/member/has_deprecation_reason.rb
544
+ - lib/graphql/schema/member/has_directives.rb
568
545
  - lib/graphql/schema/member/has_fields.rb
546
+ - lib/graphql/schema/member/has_interfaces.rb
569
547
  - lib/graphql/schema/member/has_path.rb
548
+ - lib/graphql/schema/member/has_unresolved_type_error.rb
549
+ - lib/graphql/schema/member/has_validators.rb
570
550
  - lib/graphql/schema/member/instrumentation.rb
571
551
  - lib/graphql/schema/member/relay_shortcuts.rb
572
552
  - lib/graphql/schema/member/scoped.rb
573
553
  - lib/graphql/schema/member/type_system_helpers.rb
554
+ - lib/graphql/schema/member/validates_input.rb
574
555
  - lib/graphql/schema/middleware_chain.rb
575
556
  - lib/graphql/schema/mutation.rb
576
557
  - lib/graphql/schema/non_null.rb
@@ -592,6 +573,15 @@ files:
592
573
  - lib/graphql/schema/union.rb
593
574
  - lib/graphql/schema/unique_within_type.rb
594
575
  - lib/graphql/schema/validation.rb
576
+ - lib/graphql/schema/validator.rb
577
+ - lib/graphql/schema/validator/allow_blank_validator.rb
578
+ - lib/graphql/schema/validator/allow_null_validator.rb
579
+ - lib/graphql/schema/validator/exclusion_validator.rb
580
+ - lib/graphql/schema/validator/format_validator.rb
581
+ - lib/graphql/schema/validator/inclusion_validator.rb
582
+ - lib/graphql/schema/validator/length_validator.rb
583
+ - lib/graphql/schema/validator/numericality_validator.rb
584
+ - lib/graphql/schema/validator/required_validator.rb
595
585
  - lib/graphql/schema/warden.rb
596
586
  - lib/graphql/schema/wrapper.rb
597
587
  - lib/graphql/static_validation.rb
@@ -633,12 +623,16 @@ files:
633
623
  - lib/graphql/static_validation/rules/fragments_are_on_composite_types_error.rb
634
624
  - lib/graphql/static_validation/rules/fragments_are_used.rb
635
625
  - lib/graphql/static_validation/rules/fragments_are_used_error.rb
626
+ - lib/graphql/static_validation/rules/input_object_names_are_unique.rb
627
+ - lib/graphql/static_validation/rules/input_object_names_are_unique_error.rb
636
628
  - lib/graphql/static_validation/rules/mutation_root_exists.rb
637
629
  - lib/graphql/static_validation/rules/mutation_root_exists_error.rb
638
630
  - lib/graphql/static_validation/rules/no_definitions_are_present.rb
639
631
  - lib/graphql/static_validation/rules/no_definitions_are_present_error.rb
640
632
  - lib/graphql/static_validation/rules/operation_names_are_valid.rb
641
633
  - lib/graphql/static_validation/rules/operation_names_are_valid_error.rb
634
+ - lib/graphql/static_validation/rules/query_root_exists.rb
635
+ - lib/graphql/static_validation/rules/query_root_exists_error.rb
642
636
  - lib/graphql/static_validation/rules/required_arguments_are_present.rb
643
637
  - lib/graphql/static_validation/rules/required_arguments_are_present_error.rb
644
638
  - lib/graphql/static_validation/rules/required_input_object_attributes_are_present.rb
@@ -659,25 +653,31 @@ files:
659
653
  - lib/graphql/static_validation/rules/variables_are_used_and_defined_error.rb
660
654
  - lib/graphql/static_validation/type_stack.rb
661
655
  - lib/graphql/static_validation/validation_context.rb
656
+ - lib/graphql/static_validation/validation_timeout_error.rb
662
657
  - lib/graphql/static_validation/validator.rb
663
658
  - lib/graphql/string_encoding_error.rb
664
659
  - lib/graphql/string_type.rb
665
660
  - lib/graphql/subscriptions.rb
666
661
  - lib/graphql/subscriptions/action_cable_subscriptions.rb
662
+ - lib/graphql/subscriptions/broadcast_analyzer.rb
663
+ - lib/graphql/subscriptions/default_subscription_resolve_extension.rb
667
664
  - lib/graphql/subscriptions/event.rb
668
665
  - lib/graphql/subscriptions/instrumentation.rb
669
666
  - lib/graphql/subscriptions/serialize.rb
670
667
  - lib/graphql/subscriptions/subscription_root.rb
671
668
  - lib/graphql/tracing.rb
672
669
  - lib/graphql/tracing/active_support_notifications_tracing.rb
670
+ - lib/graphql/tracing/appoptics_tracing.rb
673
671
  - lib/graphql/tracing/appsignal_tracing.rb
674
672
  - lib/graphql/tracing/data_dog_tracing.rb
675
673
  - lib/graphql/tracing/new_relic_tracing.rb
674
+ - lib/graphql/tracing/notifications_tracing.rb
676
675
  - lib/graphql/tracing/platform_tracing.rb
677
676
  - lib/graphql/tracing/prometheus_tracing.rb
678
677
  - lib/graphql/tracing/prometheus_tracing/graphql_collector.rb
679
678
  - lib/graphql/tracing/scout_tracing.rb
680
679
  - lib/graphql/tracing/skylight_tracing.rb
680
+ - lib/graphql/tracing/statsd_tracing.rb
681
681
  - lib/graphql/type_kinds.rb
682
682
  - lib/graphql/types.rb
683
683
  - lib/graphql/types/big_int.rb
@@ -691,13 +691,17 @@ files:
691
691
  - lib/graphql/types/relay.rb
692
692
  - lib/graphql/types/relay/base_connection.rb
693
693
  - lib/graphql/types/relay/base_edge.rb
694
- - lib/graphql/types/relay/base_field.rb
695
- - lib/graphql/types/relay/base_interface.rb
696
- - lib/graphql/types/relay/base_object.rb
694
+ - lib/graphql/types/relay/connection_behaviors.rb
695
+ - lib/graphql/types/relay/default_relay.rb
696
+ - lib/graphql/types/relay/edge_behaviors.rb
697
+ - lib/graphql/types/relay/has_node_field.rb
698
+ - lib/graphql/types/relay/has_nodes_field.rb
697
699
  - lib/graphql/types/relay/node.rb
700
+ - lib/graphql/types/relay/node_behaviors.rb
698
701
  - lib/graphql/types/relay/node_field.rb
699
702
  - lib/graphql/types/relay/nodes_field.rb
700
703
  - lib/graphql/types/relay/page_info.rb
704
+ - lib/graphql/types/relay/page_info_behaviors.rb
701
705
  - lib/graphql/types/string.rb
702
706
  - lib/graphql/unauthorized_error.rb
703
707
  - lib/graphql/unauthorized_field_error.rb
@@ -716,7 +720,6 @@ metadata:
716
720
  source_code_uri: https://github.com/rmosolgo/graphql-ruby
717
721
  bug_tracker_uri: https://github.com/rmosolgo/graphql-ruby/issues
718
722
  mailing_list_uri: https://tinyletter.com/graphql-ruby
719
- post_install_message:
720
723
  rdoc_options: []
721
724
  require_paths:
722
725
  - lib
@@ -724,15 +727,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
724
727
  requirements:
725
728
  - - ">="
726
729
  - !ruby/object:Gem::Version
727
- version: 2.2.0
730
+ version: 2.4.0
728
731
  required_rubygems_version: !ruby/object:Gem::Requirement
729
732
  requirements:
730
733
  - - ">="
731
734
  - !ruby/object:Gem::Version
732
735
  version: '0'
733
736
  requirements: []
734
- rubygems_version: 3.0.3
735
- signing_key:
737
+ rubygems_version: 3.6.3
736
738
  specification_version: 4
737
739
  summary: A GraphQL language and runtime for Ruby
738
740
  test_files: []
@@ -1,46 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GraphQL
4
- module Execution
5
- class Interpreter
6
- # This response class handles `#write` by accumulating
7
- # values into a Hash.
8
- class HashResponse
9
- def initialize
10
- @result = {}
11
- end
12
-
13
- def final_value
14
- @result
15
- end
16
-
17
- def inspect
18
- "#<#{self.class.name} result=#{@result.inspect}>"
19
- end
20
-
21
- # Add `value` at `path`.
22
- # @return [void]
23
- def write(path, value)
24
- if path.empty?
25
- @result = value
26
- elsif (write_target = @result)
27
- i = 0
28
- prefinal_steps = path.size - 1
29
- # Use `while` to avoid a closure
30
- while i < prefinal_steps
31
- path_part = path[i]
32
- i += 1
33
- write_target = write_target[path_part]
34
- end
35
- path_part = path[i]
36
- write_target[path_part] = value
37
- else
38
- # The response is completely nulled out
39
- end
40
-
41
- nil
42
- end
43
- end
44
- end
45
- end
46
- end
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
- module GraphQL
3
- class LiteralValidationError < GraphQL::Error
4
- attr_accessor :ast_value
5
- end
6
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GraphQL
4
- module Types
5
- module Relay
6
- class BaseField < GraphQL::Schema::Field
7
- def initialize(edge_class: nil, **rest, &block)
8
- @edge_class = edge_class
9
- super(**rest, &block)
10
- end
11
-
12
- def to_graphql
13
- field = super
14
- if @edge_class
15
- field.edge_class = @edge_class
16
- end
17
- field
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GraphQL
4
- module Types
5
- module Relay
6
- module BaseInterface
7
- include GraphQL::Schema::Interface
8
-
9
- field_class(Types::Relay::BaseField)
10
-
11
- definition_methods do
12
- def default_relay(new_value)
13
- @default_relay = new_value
14
- end
15
-
16
- def default_relay?
17
- !!@default_relay
18
- end
19
-
20
- def to_graphql
21
- type_defn = super
22
- type_defn.default_relay = default_relay?
23
- type_defn
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GraphQL
4
- module Types
5
- module Relay
6
- class BaseObject < GraphQL::Schema::Object
7
- field_class(Types::Relay::BaseField)
8
- class << self
9
- def default_relay(new_value)
10
- @default_relay = new_value
11
- end
12
-
13
- def default_relay?
14
- !!@default_relay
15
- end
16
-
17
- def to_graphql
18
- type_defn = super
19
- type_defn.default_relay = default_relay?
20
- type_defn
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end