graphql 1.10.1 → 1.13.0

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 (292) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/graphql/core.rb +18 -2
  3. data/lib/generators/graphql/install_generator.rb +36 -6
  4. data/lib/generators/graphql/loader_generator.rb +1 -0
  5. data/lib/generators/graphql/mutation_generator.rb +2 -1
  6. data/lib/generators/graphql/object_generator.rb +54 -9
  7. data/lib/generators/graphql/relay.rb +63 -0
  8. data/lib/generators/graphql/relay_generator.rb +21 -0
  9. data/lib/generators/graphql/templates/base_argument.erb +2 -0
  10. data/lib/generators/graphql/templates/base_connection.erb +8 -0
  11. data/lib/generators/graphql/templates/base_edge.erb +8 -0
  12. data/lib/generators/graphql/templates/base_enum.erb +2 -0
  13. data/lib/generators/graphql/templates/base_field.erb +2 -0
  14. data/lib/generators/graphql/templates/base_input_object.erb +2 -0
  15. data/lib/generators/graphql/templates/base_interface.erb +2 -0
  16. data/lib/generators/graphql/templates/base_mutation.erb +2 -0
  17. data/lib/generators/graphql/templates/base_object.erb +2 -0
  18. data/lib/generators/graphql/templates/base_scalar.erb +2 -0
  19. data/lib/generators/graphql/templates/base_union.erb +2 -0
  20. data/lib/generators/graphql/templates/enum.erb +2 -0
  21. data/lib/generators/graphql/templates/graphql_controller.erb +16 -12
  22. data/lib/generators/graphql/templates/interface.erb +2 -0
  23. data/lib/generators/graphql/templates/loader.erb +2 -0
  24. data/lib/generators/graphql/templates/mutation.erb +2 -0
  25. data/lib/generators/graphql/templates/mutation_type.erb +2 -0
  26. data/lib/generators/graphql/templates/node_type.erb +9 -0
  27. data/lib/generators/graphql/templates/object.erb +3 -1
  28. data/lib/generators/graphql/templates/query_type.erb +3 -3
  29. data/lib/generators/graphql/templates/scalar.erb +2 -0
  30. data/lib/generators/graphql/templates/schema.erb +21 -33
  31. data/lib/generators/graphql/templates/union.erb +3 -1
  32. data/lib/generators/graphql/type_generator.rb +1 -1
  33. data/lib/graphql/analysis/analyze_query.rb +7 -0
  34. data/lib/graphql/analysis/ast/field_usage.rb +24 -1
  35. data/lib/graphql/analysis/ast/query_complexity.rb +126 -109
  36. data/lib/graphql/analysis/ast/visitor.rb +13 -5
  37. data/lib/graphql/analysis/ast.rb +11 -2
  38. data/lib/graphql/argument.rb +3 -3
  39. data/lib/graphql/backtrace/inspect_result.rb +0 -1
  40. data/lib/graphql/backtrace/legacy_tracer.rb +56 -0
  41. data/lib/graphql/backtrace/table.rb +34 -3
  42. data/lib/graphql/backtrace/traced_error.rb +0 -1
  43. data/lib/graphql/backtrace/tracer.rb +40 -9
  44. data/lib/graphql/backtrace.rb +28 -19
  45. data/lib/graphql/backwards_compatibility.rb +2 -1
  46. data/lib/graphql/base_type.rb +1 -1
  47. data/lib/graphql/compatibility/execution_specification/specification_schema.rb +2 -2
  48. data/lib/graphql/compatibility/execution_specification.rb +1 -0
  49. data/lib/graphql/compatibility/lazy_execution_specification.rb +2 -0
  50. data/lib/graphql/compatibility/query_parser_specification.rb +2 -0
  51. data/lib/graphql/compatibility/schema_parser_specification.rb +2 -0
  52. data/lib/graphql/dataloader/null_dataloader.rb +22 -0
  53. data/lib/graphql/dataloader/request.rb +19 -0
  54. data/lib/graphql/dataloader/request_all.rb +19 -0
  55. data/lib/graphql/dataloader/source.rb +155 -0
  56. data/lib/graphql/dataloader.rb +308 -0
  57. data/lib/graphql/define/assign_global_id_field.rb +2 -2
  58. data/lib/graphql/define/defined_object_proxy.rb +1 -1
  59. data/lib/graphql/define/instance_definable.rb +34 -4
  60. data/lib/graphql/define/type_definer.rb +5 -5
  61. data/lib/graphql/deprecated_dsl.rb +18 -5
  62. data/lib/graphql/deprecation.rb +9 -0
  63. data/lib/graphql/directive.rb +4 -4
  64. data/lib/graphql/enum_type.rb +7 -1
  65. data/lib/graphql/execution/errors.rb +110 -7
  66. data/lib/graphql/execution/execute.rb +8 -1
  67. data/lib/graphql/execution/instrumentation.rb +1 -1
  68. data/lib/graphql/execution/interpreter/argument_value.rb +28 -0
  69. data/lib/graphql/execution/interpreter/arguments.rb +88 -0
  70. data/lib/graphql/execution/interpreter/arguments_cache.rb +103 -0
  71. data/lib/graphql/execution/interpreter/handles_raw_value.rb +18 -0
  72. data/lib/graphql/execution/interpreter/resolve.rb +37 -25
  73. data/lib/graphql/execution/interpreter/runtime.rb +685 -421
  74. data/lib/graphql/execution/interpreter.rb +42 -13
  75. data/lib/graphql/execution/lazy.rb +5 -1
  76. data/lib/graphql/execution/lookahead.rb +25 -110
  77. data/lib/graphql/execution/multiplex.rb +37 -25
  78. data/lib/graphql/field.rb +5 -1
  79. data/lib/graphql/function.rb +4 -0
  80. data/lib/graphql/input_object_type.rb +6 -0
  81. data/lib/graphql/integer_decoding_error.rb +17 -0
  82. data/lib/graphql/integer_encoding_error.rb +18 -2
  83. data/lib/graphql/interface_type.rb +7 -0
  84. data/lib/graphql/internal_representation/document.rb +2 -2
  85. data/lib/graphql/internal_representation/rewrite.rb +1 -1
  86. data/lib/graphql/internal_representation/scope.rb +2 -2
  87. data/lib/graphql/internal_representation/visit.rb +2 -2
  88. data/lib/graphql/introspection/directive_type.rb +8 -4
  89. data/lib/graphql/introspection/entry_points.rb +2 -2
  90. data/lib/graphql/introspection/enum_value_type.rb +2 -2
  91. data/lib/graphql/introspection/field_type.rb +9 -5
  92. data/lib/graphql/introspection/input_value_type.rb +15 -3
  93. data/lib/graphql/introspection/introspection_query.rb +6 -92
  94. data/lib/graphql/introspection/schema_type.rb +4 -4
  95. data/lib/graphql/introspection/type_type.rb +16 -12
  96. data/lib/graphql/introspection.rb +96 -0
  97. data/lib/graphql/invalid_null_error.rb +18 -0
  98. data/lib/graphql/language/block_string.rb +20 -5
  99. data/lib/graphql/language/cache.rb +37 -0
  100. data/lib/graphql/language/document_from_schema_definition.rb +73 -25
  101. data/lib/graphql/language/lexer.rb +4 -3
  102. data/lib/graphql/language/lexer.rl +3 -3
  103. data/lib/graphql/language/nodes.rb +51 -89
  104. data/lib/graphql/language/parser.rb +552 -530
  105. data/lib/graphql/language/parser.y +114 -99
  106. data/lib/graphql/language/printer.rb +7 -2
  107. data/lib/graphql/language/sanitized_printer.rb +222 -0
  108. data/lib/graphql/language/token.rb +0 -4
  109. data/lib/graphql/language/visitor.rb +2 -2
  110. data/lib/graphql/language.rb +2 -0
  111. data/lib/graphql/name_validator.rb +2 -7
  112. data/lib/graphql/object_type.rb +44 -35
  113. data/lib/graphql/pagination/active_record_relation_connection.rb +14 -1
  114. data/lib/graphql/pagination/array_connection.rb +2 -2
  115. data/lib/graphql/pagination/connection.rb +75 -20
  116. data/lib/graphql/pagination/connections.rb +83 -31
  117. data/lib/graphql/pagination/relation_connection.rb +34 -14
  118. data/lib/graphql/parse_error.rb +0 -1
  119. data/lib/graphql/query/arguments.rb +4 -3
  120. data/lib/graphql/query/arguments_cache.rb +1 -2
  121. data/lib/graphql/query/context.rb +42 -7
  122. data/lib/graphql/query/executor.rb +0 -1
  123. data/lib/graphql/query/fingerprint.rb +26 -0
  124. data/lib/graphql/query/input_validation_result.rb +23 -6
  125. data/lib/graphql/query/literal_input.rb +1 -1
  126. data/lib/graphql/query/null_context.rb +24 -8
  127. data/lib/graphql/query/serial_execution/field_resolution.rb +1 -1
  128. data/lib/graphql/query/serial_execution.rb +1 -0
  129. data/lib/graphql/query/validation_pipeline.rb +5 -2
  130. data/lib/graphql/query/variable_validation_error.rb +1 -1
  131. data/lib/graphql/query/variables.rb +14 -4
  132. data/lib/graphql/query.rb +68 -13
  133. data/lib/graphql/railtie.rb +9 -1
  134. data/lib/graphql/rake_task.rb +12 -9
  135. data/lib/graphql/relay/array_connection.rb +10 -12
  136. data/lib/graphql/relay/base_connection.rb +26 -13
  137. data/lib/graphql/relay/connection_instrumentation.rb +4 -4
  138. data/lib/graphql/relay/connection_type.rb +1 -1
  139. data/lib/graphql/relay/edges_instrumentation.rb +0 -1
  140. data/lib/graphql/relay/mutation.rb +1 -0
  141. data/lib/graphql/relay/node.rb +3 -0
  142. data/lib/graphql/relay/range_add.rb +23 -9
  143. data/lib/graphql/relay/relation_connection.rb +8 -10
  144. data/lib/graphql/relay/type_extensions.rb +2 -0
  145. data/lib/graphql/rubocop/graphql/base_cop.rb +36 -0
  146. data/lib/graphql/rubocop/graphql/default_null_true.rb +43 -0
  147. data/lib/graphql/rubocop/graphql/default_required_true.rb +43 -0
  148. data/lib/graphql/rubocop.rb +4 -0
  149. data/lib/graphql/scalar_type.rb +16 -1
  150. data/lib/graphql/schema/addition.rb +247 -0
  151. data/lib/graphql/schema/argument.rb +210 -12
  152. data/lib/graphql/schema/base_64_encoder.rb +2 -0
  153. data/lib/graphql/schema/build_from_definition/resolve_map.rb +3 -1
  154. data/lib/graphql/schema/build_from_definition.rb +213 -86
  155. data/lib/graphql/schema/default_type_error.rb +2 -0
  156. data/lib/graphql/schema/directive/deprecated.rb +1 -1
  157. data/lib/graphql/schema/directive/feature.rb +1 -1
  158. data/lib/graphql/schema/directive/flagged.rb +57 -0
  159. data/lib/graphql/schema/directive/include.rb +1 -1
  160. data/lib/graphql/schema/directive/skip.rb +1 -1
  161. data/lib/graphql/schema/directive/transform.rb +14 -2
  162. data/lib/graphql/schema/directive.rb +78 -2
  163. data/lib/graphql/schema/enum.rb +80 -9
  164. data/lib/graphql/schema/enum_value.rb +17 -6
  165. data/lib/graphql/schema/field/connection_extension.rb +46 -30
  166. data/lib/graphql/schema/field/scope_extension.rb +1 -1
  167. data/lib/graphql/schema/field.rb +285 -133
  168. data/lib/graphql/schema/find_inherited_value.rb +4 -1
  169. data/lib/graphql/schema/finder.rb +5 -5
  170. data/lib/graphql/schema/input_object.rb +97 -89
  171. data/lib/graphql/schema/interface.rb +24 -19
  172. data/lib/graphql/schema/late_bound_type.rb +2 -2
  173. data/lib/graphql/schema/list.rb +7 -1
  174. data/lib/graphql/schema/loader.rb +137 -103
  175. data/lib/graphql/schema/member/accepts_definition.rb +8 -1
  176. data/lib/graphql/schema/member/base_dsl_methods.rb +15 -19
  177. data/lib/graphql/schema/member/build_type.rb +14 -7
  178. data/lib/graphql/schema/member/has_arguments.rb +205 -12
  179. data/lib/graphql/schema/member/has_ast_node.rb +4 -1
  180. data/lib/graphql/schema/member/has_deprecation_reason.rb +25 -0
  181. data/lib/graphql/schema/member/has_directives.rb +98 -0
  182. data/lib/graphql/schema/member/has_fields.rb +95 -30
  183. data/lib/graphql/schema/member/has_interfaces.rb +90 -0
  184. data/lib/graphql/schema/member/has_unresolved_type_error.rb +15 -0
  185. data/lib/graphql/schema/member/has_validators.rb +31 -0
  186. data/lib/graphql/schema/member/instrumentation.rb +0 -1
  187. data/lib/graphql/schema/member/type_system_helpers.rb +3 -3
  188. data/lib/graphql/schema/member.rb +6 -0
  189. data/lib/graphql/schema/middleware_chain.rb +1 -1
  190. data/lib/graphql/schema/mutation.rb +4 -0
  191. data/lib/graphql/schema/non_null.rb +5 -0
  192. data/lib/graphql/schema/object.rb +47 -46
  193. data/lib/graphql/schema/possible_types.rb +9 -4
  194. data/lib/graphql/schema/printer.rb +16 -34
  195. data/lib/graphql/schema/relay_classic_mutation.rb +32 -4
  196. data/lib/graphql/schema/resolver/has_payload_type.rb +34 -4
  197. data/lib/graphql/schema/resolver.rb +123 -63
  198. data/lib/graphql/schema/scalar.rb +11 -1
  199. data/lib/graphql/schema/subscription.rb +57 -21
  200. data/lib/graphql/schema/timeout.rb +29 -15
  201. data/lib/graphql/schema/timeout_middleware.rb +3 -1
  202. data/lib/graphql/schema/type_expression.rb +1 -1
  203. data/lib/graphql/schema/type_membership.rb +18 -4
  204. data/lib/graphql/schema/union.rb +41 -1
  205. data/lib/graphql/schema/unique_within_type.rb +1 -2
  206. data/lib/graphql/schema/validation.rb +12 -2
  207. data/lib/graphql/schema/validator/allow_blank_validator.rb +29 -0
  208. data/lib/graphql/schema/validator/allow_null_validator.rb +26 -0
  209. data/lib/graphql/schema/validator/exclusion_validator.rb +33 -0
  210. data/lib/graphql/schema/validator/format_validator.rb +48 -0
  211. data/lib/graphql/schema/validator/inclusion_validator.rb +35 -0
  212. data/lib/graphql/schema/validator/length_validator.rb +59 -0
  213. data/lib/graphql/schema/validator/numericality_validator.rb +82 -0
  214. data/lib/graphql/schema/validator/required_validator.rb +68 -0
  215. data/lib/graphql/schema/validator.rb +174 -0
  216. data/lib/graphql/schema/warden.rb +153 -28
  217. data/lib/graphql/schema.rb +364 -330
  218. data/lib/graphql/static_validation/all_rules.rb +1 -0
  219. data/lib/graphql/static_validation/base_visitor.rb +8 -5
  220. data/lib/graphql/static_validation/definition_dependencies.rb +0 -1
  221. data/lib/graphql/static_validation/error.rb +3 -1
  222. data/lib/graphql/static_validation/literal_validator.rb +51 -26
  223. data/lib/graphql/static_validation/rules/argument_literals_are_compatible.rb +44 -87
  224. data/lib/graphql/static_validation/rules/argument_literals_are_compatible_error.rb +22 -6
  225. data/lib/graphql/static_validation/rules/arguments_are_defined.rb +28 -22
  226. data/lib/graphql/static_validation/rules/arguments_are_defined_error.rb +4 -2
  227. data/lib/graphql/static_validation/rules/directives_are_defined.rb +1 -1
  228. data/lib/graphql/static_validation/rules/fields_will_merge.rb +79 -43
  229. data/lib/graphql/static_validation/rules/fields_will_merge_error.rb +25 -4
  230. data/lib/graphql/static_validation/rules/fragments_are_finite.rb +2 -2
  231. data/lib/graphql/static_validation/rules/input_object_names_are_unique.rb +30 -0
  232. data/lib/graphql/static_validation/rules/input_object_names_are_unique_error.rb +30 -0
  233. data/lib/graphql/static_validation/rules/required_arguments_are_present.rb +1 -1
  234. data/lib/graphql/static_validation/rules/required_input_object_attributes_are_present.rb +6 -7
  235. data/lib/graphql/static_validation/rules/variable_default_values_are_correctly_typed.rb +9 -10
  236. data/lib/graphql/static_validation/rules/variable_usages_are_allowed.rb +8 -8
  237. data/lib/graphql/static_validation/rules/variables_are_used_and_defined.rb +4 -2
  238. data/lib/graphql/static_validation/validation_context.rb +9 -3
  239. data/lib/graphql/static_validation/validation_timeout_error.rb +25 -0
  240. data/lib/graphql/static_validation/validator.rb +42 -8
  241. data/lib/graphql/static_validation.rb +1 -0
  242. data/lib/graphql/string_encoding_error.rb +13 -3
  243. data/lib/graphql/subscriptions/action_cable_subscriptions.rb +118 -19
  244. data/lib/graphql/subscriptions/broadcast_analyzer.rb +81 -0
  245. data/lib/graphql/subscriptions/default_subscription_resolve_extension.rb +21 -0
  246. data/lib/graphql/subscriptions/event.rb +81 -30
  247. data/lib/graphql/subscriptions/instrumentation.rb +0 -1
  248. data/lib/graphql/subscriptions/serialize.rb +33 -6
  249. data/lib/graphql/subscriptions/subscription_root.rb +15 -4
  250. data/lib/graphql/subscriptions.rb +88 -45
  251. data/lib/graphql/tracing/active_support_notifications_tracing.rb +2 -1
  252. data/lib/graphql/tracing/appoptics_tracing.rb +173 -0
  253. data/lib/graphql/tracing/appsignal_tracing.rb +15 -0
  254. data/lib/graphql/tracing/new_relic_tracing.rb +1 -12
  255. data/lib/graphql/tracing/platform_tracing.rb +43 -17
  256. data/lib/graphql/tracing/prometheus_tracing/graphql_collector.rb +4 -1
  257. data/lib/graphql/tracing/scout_tracing.rb +11 -0
  258. data/lib/graphql/tracing/skylight_tracing.rb +1 -1
  259. data/lib/graphql/tracing/statsd_tracing.rb +42 -0
  260. data/lib/graphql/tracing.rb +9 -33
  261. data/lib/graphql/types/big_int.rb +5 -1
  262. data/lib/graphql/types/int.rb +10 -3
  263. data/lib/graphql/types/iso_8601_date.rb +3 -3
  264. data/lib/graphql/types/iso_8601_date_time.rb +25 -10
  265. data/lib/graphql/types/relay/base_connection.rb +6 -90
  266. data/lib/graphql/types/relay/base_edge.rb +2 -34
  267. data/lib/graphql/types/relay/connection_behaviors.rb +156 -0
  268. data/lib/graphql/types/relay/default_relay.rb +27 -0
  269. data/lib/graphql/types/relay/edge_behaviors.rb +53 -0
  270. data/lib/graphql/types/relay/has_node_field.rb +41 -0
  271. data/lib/graphql/types/relay/has_nodes_field.rb +41 -0
  272. data/lib/graphql/types/relay/node.rb +2 -4
  273. data/lib/graphql/types/relay/node_behaviors.rb +15 -0
  274. data/lib/graphql/types/relay/node_field.rb +2 -20
  275. data/lib/graphql/types/relay/nodes_field.rb +2 -20
  276. data/lib/graphql/types/relay/page_info.rb +2 -14
  277. data/lib/graphql/types/relay/page_info_behaviors.rb +25 -0
  278. data/lib/graphql/types/relay.rb +11 -3
  279. data/lib/graphql/types/string.rb +8 -2
  280. data/lib/graphql/unauthorized_error.rb +2 -2
  281. data/lib/graphql/union_type.rb +2 -0
  282. data/lib/graphql/upgrader/member.rb +1 -0
  283. data/lib/graphql/upgrader/schema.rb +1 -0
  284. data/lib/graphql/version.rb +1 -1
  285. data/lib/graphql.rb +65 -31
  286. data/readme.md +3 -6
  287. metadata +77 -112
  288. data/lib/graphql/execution/interpreter/hash_response.rb +0 -46
  289. data/lib/graphql/literal_validation_error.rb +0 -6
  290. data/lib/graphql/types/relay/base_field.rb +0 -22
  291. data/lib/graphql/types/relay/base_interface.rb +0 -29
  292. data/lib/graphql/types/relay/base_object.rb +0 -26
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.1
4
+ version: 1.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Mosolgo
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-28 00:00:00.000000000 Z
11
+ date: 2021-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: benchmark-ips
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: codeclimate-test-reporter
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '0.4'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '0.4'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: concurrent-ruby
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -52,76 +38,6 @@ dependencies:
52
38
  - - "~>"
53
39
  - !ruby/object:Gem::Version
54
40
  version: '1.0'
55
- - !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
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: guard-rubocop
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !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
41
  - !ruby/object:Gem::Dependency
126
42
  name: memory_profiler
127
43
  requirement: !ruby/object:Gem::Requirement
@@ -212,28 +128,14 @@ dependencies:
212
128
  requirements:
213
129
  - - '='
214
130
  - !ruby/object:Gem::Version
215
- version: '0.68'
131
+ version: '1.12'
216
132
  type: :development
217
133
  prerelease: false
218
134
  version_requirements: !ruby/object:Gem::Requirement
219
135
  requirements:
220
136
  - - '='
221
137
  - !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'
138
+ version: '1.12'
237
139
  - !ruby/object:Gem::Dependency
238
140
  name: parser
239
141
  requirement: !ruby/object:Gem::Requirement
@@ -318,6 +220,20 @@ dependencies:
318
220
  - - "~>"
319
221
  - !ruby/object:Gem::Version
320
222
  version: 1.5.0
223
+ - !ruby/object:Gem::Dependency
224
+ name: webrick
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'
321
237
  description: A plain-Ruby implementation of GraphQL.
322
238
  email:
323
239
  - rdmosolgo@gmail.com
@@ -334,8 +250,12 @@ files:
334
250
  - lib/generators/graphql/loader_generator.rb
335
251
  - lib/generators/graphql/mutation_generator.rb
336
252
  - lib/generators/graphql/object_generator.rb
253
+ - lib/generators/graphql/relay.rb
254
+ - lib/generators/graphql/relay_generator.rb
337
255
  - lib/generators/graphql/scalar_generator.rb
338
256
  - lib/generators/graphql/templates/base_argument.erb
257
+ - lib/generators/graphql/templates/base_connection.erb
258
+ - lib/generators/graphql/templates/base_edge.erb
339
259
  - lib/generators/graphql/templates/base_enum.erb
340
260
  - lib/generators/graphql/templates/base_field.erb
341
261
  - lib/generators/graphql/templates/base_input_object.erb
@@ -350,6 +270,7 @@ files:
350
270
  - lib/generators/graphql/templates/loader.erb
351
271
  - lib/generators/graphql/templates/mutation.erb
352
272
  - lib/generators/graphql/templates/mutation_type.erb
273
+ - lib/generators/graphql/templates/node_type.erb
353
274
  - lib/generators/graphql/templates/object.erb
354
275
  - lib/generators/graphql/templates/query_type.erb
355
276
  - lib/generators/graphql/templates/scalar.erb
@@ -379,6 +300,7 @@ files:
379
300
  - lib/graphql/authorization.rb
380
301
  - lib/graphql/backtrace.rb
381
302
  - lib/graphql/backtrace/inspect_result.rb
303
+ - lib/graphql/backtrace/legacy_tracer.rb
382
304
  - lib/graphql/backtrace/table.rb
383
305
  - lib/graphql/backtrace/traced_error.rb
384
306
  - lib/graphql/backtrace/tracer.rb
@@ -396,6 +318,11 @@ files:
396
318
  - lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb
397
319
  - lib/graphql/compatibility/query_parser_specification/query_assertions.rb
398
320
  - lib/graphql/compatibility/schema_parser_specification.rb
321
+ - lib/graphql/dataloader.rb
322
+ - lib/graphql/dataloader/null_dataloader.rb
323
+ - lib/graphql/dataloader/request.rb
324
+ - lib/graphql/dataloader/request_all.rb
325
+ - lib/graphql/dataloader/source.rb
399
326
  - lib/graphql/define.rb
400
327
  - lib/graphql/define/assign_argument.rb
401
328
  - lib/graphql/define/assign_connection.rb
@@ -409,6 +336,7 @@ files:
409
336
  - lib/graphql/define/non_null_with_bang.rb
410
337
  - lib/graphql/define/type_definer.rb
411
338
  - lib/graphql/deprecated_dsl.rb
339
+ - lib/graphql/deprecation.rb
412
340
  - lib/graphql/dig.rb
413
341
  - lib/graphql/directive.rb
414
342
  - lib/graphql/directive/deprecated_directive.rb
@@ -422,8 +350,11 @@ files:
422
350
  - lib/graphql/execution/flatten.rb
423
351
  - lib/graphql/execution/instrumentation.rb
424
352
  - lib/graphql/execution/interpreter.rb
353
+ - lib/graphql/execution/interpreter/argument_value.rb
354
+ - lib/graphql/execution/interpreter/arguments.rb
355
+ - lib/graphql/execution/interpreter/arguments_cache.rb
425
356
  - lib/graphql/execution/interpreter/execution_errors.rb
426
- - lib/graphql/execution/interpreter/hash_response.rb
357
+ - lib/graphql/execution/interpreter/handles_raw_value.rb
427
358
  - lib/graphql/execution/interpreter/resolve.rb
428
359
  - lib/graphql/execution/interpreter/runtime.rb
429
360
  - lib/graphql/execution/lazy.rb
@@ -441,6 +372,7 @@ files:
441
372
  - lib/graphql/id_type.rb
442
373
  - lib/graphql/input_object_type.rb
443
374
  - lib/graphql/int_type.rb
375
+ - lib/graphql/integer_decoding_error.rb
444
376
  - lib/graphql/integer_encoding_error.rb
445
377
  - lib/graphql/interface_type.rb
446
378
  - lib/graphql/internal_representation.rb
@@ -467,6 +399,7 @@ files:
467
399
  - lib/graphql/invalid_null_error.rb
468
400
  - lib/graphql/language.rb
469
401
  - lib/graphql/language/block_string.rb
402
+ - lib/graphql/language/cache.rb
470
403
  - lib/graphql/language/definition_slice.rb
471
404
  - lib/graphql/language/document_from_schema_definition.rb
472
405
  - lib/graphql/language/generation.rb
@@ -476,10 +409,10 @@ files:
476
409
  - lib/graphql/language/parser.rb
477
410
  - lib/graphql/language/parser.y
478
411
  - lib/graphql/language/printer.rb
412
+ - lib/graphql/language/sanitized_printer.rb
479
413
  - lib/graphql/language/token.rb
480
414
  - lib/graphql/language/visitor.rb
481
415
  - lib/graphql/list_type.rb
482
- - lib/graphql/literal_validation_error.rb
483
416
  - lib/graphql/load_application_object_failed_error.rb
484
417
  - lib/graphql/name_validator.rb
485
418
  - lib/graphql/non_null_type.rb
@@ -498,6 +431,7 @@ files:
498
431
  - lib/graphql/query/arguments_cache.rb
499
432
  - lib/graphql/query/context.rb
500
433
  - lib/graphql/query/executor.rb
434
+ - lib/graphql/query/fingerprint.rb
501
435
  - lib/graphql/query/input_validation_result.rb
502
436
  - lib/graphql/query/literal_input.rb
503
437
  - lib/graphql/query/null_context.rb
@@ -533,9 +467,14 @@ files:
533
467
  - lib/graphql/relay/range_add.rb
534
468
  - lib/graphql/relay/relation_connection.rb
535
469
  - lib/graphql/relay/type_extensions.rb
470
+ - lib/graphql/rubocop.rb
471
+ - lib/graphql/rubocop/graphql/base_cop.rb
472
+ - lib/graphql/rubocop/graphql/default_null_true.rb
473
+ - lib/graphql/rubocop/graphql/default_required_true.rb
536
474
  - lib/graphql/runtime_type_error.rb
537
475
  - lib/graphql/scalar_type.rb
538
476
  - lib/graphql/schema.rb
477
+ - lib/graphql/schema/addition.rb
539
478
  - lib/graphql/schema/argument.rb
540
479
  - lib/graphql/schema/base_64_bp.rb
541
480
  - lib/graphql/schema/base_64_encoder.rb
@@ -549,6 +488,7 @@ files:
549
488
  - lib/graphql/schema/directive.rb
550
489
  - lib/graphql/schema/directive/deprecated.rb
551
490
  - lib/graphql/schema/directive/feature.rb
491
+ - lib/graphql/schema/directive/flagged.rb
552
492
  - lib/graphql/schema/directive/include.rb
553
493
  - lib/graphql/schema/directive/skip.rb
554
494
  - lib/graphql/schema/directive/transform.rb
@@ -575,8 +515,13 @@ files:
575
515
  - lib/graphql/schema/member/graphql_type_names.rb
576
516
  - lib/graphql/schema/member/has_arguments.rb
577
517
  - lib/graphql/schema/member/has_ast_node.rb
518
+ - lib/graphql/schema/member/has_deprecation_reason.rb
519
+ - lib/graphql/schema/member/has_directives.rb
578
520
  - lib/graphql/schema/member/has_fields.rb
521
+ - lib/graphql/schema/member/has_interfaces.rb
579
522
  - lib/graphql/schema/member/has_path.rb
523
+ - lib/graphql/schema/member/has_unresolved_type_error.rb
524
+ - lib/graphql/schema/member/has_validators.rb
580
525
  - lib/graphql/schema/member/instrumentation.rb
581
526
  - lib/graphql/schema/member/relay_shortcuts.rb
582
527
  - lib/graphql/schema/member/scoped.rb
@@ -603,6 +548,15 @@ files:
603
548
  - lib/graphql/schema/union.rb
604
549
  - lib/graphql/schema/unique_within_type.rb
605
550
  - lib/graphql/schema/validation.rb
551
+ - lib/graphql/schema/validator.rb
552
+ - lib/graphql/schema/validator/allow_blank_validator.rb
553
+ - lib/graphql/schema/validator/allow_null_validator.rb
554
+ - lib/graphql/schema/validator/exclusion_validator.rb
555
+ - lib/graphql/schema/validator/format_validator.rb
556
+ - lib/graphql/schema/validator/inclusion_validator.rb
557
+ - lib/graphql/schema/validator/length_validator.rb
558
+ - lib/graphql/schema/validator/numericality_validator.rb
559
+ - lib/graphql/schema/validator/required_validator.rb
606
560
  - lib/graphql/schema/warden.rb
607
561
  - lib/graphql/schema/wrapper.rb
608
562
  - lib/graphql/static_validation.rb
@@ -644,6 +598,8 @@ files:
644
598
  - lib/graphql/static_validation/rules/fragments_are_on_composite_types_error.rb
645
599
  - lib/graphql/static_validation/rules/fragments_are_used.rb
646
600
  - lib/graphql/static_validation/rules/fragments_are_used_error.rb
601
+ - lib/graphql/static_validation/rules/input_object_names_are_unique.rb
602
+ - lib/graphql/static_validation/rules/input_object_names_are_unique_error.rb
647
603
  - lib/graphql/static_validation/rules/mutation_root_exists.rb
648
604
  - lib/graphql/static_validation/rules/mutation_root_exists_error.rb
649
605
  - lib/graphql/static_validation/rules/no_definitions_are_present.rb
@@ -670,17 +626,21 @@ files:
670
626
  - lib/graphql/static_validation/rules/variables_are_used_and_defined_error.rb
671
627
  - lib/graphql/static_validation/type_stack.rb
672
628
  - lib/graphql/static_validation/validation_context.rb
629
+ - lib/graphql/static_validation/validation_timeout_error.rb
673
630
  - lib/graphql/static_validation/validator.rb
674
631
  - lib/graphql/string_encoding_error.rb
675
632
  - lib/graphql/string_type.rb
676
633
  - lib/graphql/subscriptions.rb
677
634
  - lib/graphql/subscriptions/action_cable_subscriptions.rb
635
+ - lib/graphql/subscriptions/broadcast_analyzer.rb
636
+ - lib/graphql/subscriptions/default_subscription_resolve_extension.rb
678
637
  - lib/graphql/subscriptions/event.rb
679
638
  - lib/graphql/subscriptions/instrumentation.rb
680
639
  - lib/graphql/subscriptions/serialize.rb
681
640
  - lib/graphql/subscriptions/subscription_root.rb
682
641
  - lib/graphql/tracing.rb
683
642
  - lib/graphql/tracing/active_support_notifications_tracing.rb
643
+ - lib/graphql/tracing/appoptics_tracing.rb
684
644
  - lib/graphql/tracing/appsignal_tracing.rb
685
645
  - lib/graphql/tracing/data_dog_tracing.rb
686
646
  - lib/graphql/tracing/new_relic_tracing.rb
@@ -689,6 +649,7 @@ files:
689
649
  - lib/graphql/tracing/prometheus_tracing/graphql_collector.rb
690
650
  - lib/graphql/tracing/scout_tracing.rb
691
651
  - lib/graphql/tracing/skylight_tracing.rb
652
+ - lib/graphql/tracing/statsd_tracing.rb
692
653
  - lib/graphql/type_kinds.rb
693
654
  - lib/graphql/types.rb
694
655
  - lib/graphql/types/big_int.rb
@@ -702,13 +663,17 @@ files:
702
663
  - lib/graphql/types/relay.rb
703
664
  - lib/graphql/types/relay/base_connection.rb
704
665
  - lib/graphql/types/relay/base_edge.rb
705
- - lib/graphql/types/relay/base_field.rb
706
- - lib/graphql/types/relay/base_interface.rb
707
- - lib/graphql/types/relay/base_object.rb
666
+ - lib/graphql/types/relay/connection_behaviors.rb
667
+ - lib/graphql/types/relay/default_relay.rb
668
+ - lib/graphql/types/relay/edge_behaviors.rb
669
+ - lib/graphql/types/relay/has_node_field.rb
670
+ - lib/graphql/types/relay/has_nodes_field.rb
708
671
  - lib/graphql/types/relay/node.rb
672
+ - lib/graphql/types/relay/node_behaviors.rb
709
673
  - lib/graphql/types/relay/node_field.rb
710
674
  - lib/graphql/types/relay/nodes_field.rb
711
675
  - lib/graphql/types/relay/page_info.rb
676
+ - lib/graphql/types/relay/page_info_behaviors.rb
712
677
  - lib/graphql/types/string.rb
713
678
  - lib/graphql/unauthorized_error.rb
714
679
  - lib/graphql/unauthorized_field_error.rb
@@ -727,7 +692,7 @@ metadata:
727
692
  source_code_uri: https://github.com/rmosolgo/graphql-ruby
728
693
  bug_tracker_uri: https://github.com/rmosolgo/graphql-ruby/issues
729
694
  mailing_list_uri: https://tinyletter.com/graphql-ruby
730
- post_install_message:
695
+ post_install_message:
731
696
  rdoc_options: []
732
697
  require_paths:
733
698
  - lib
@@ -735,15 +700,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
735
700
  requirements:
736
701
  - - ">="
737
702
  - !ruby/object:Gem::Version
738
- version: 2.2.0
703
+ version: 2.4.0
739
704
  required_rubygems_version: !ruby/object:Gem::Requirement
740
705
  requirements:
741
706
  - - ">="
742
707
  - !ruby/object:Gem::Version
743
708
  version: '0'
744
709
  requirements: []
745
- rubygems_version: 3.0.3
746
- signing_key:
710
+ rubygems_version: 3.2.22
711
+ signing_key:
747
712
  specification_version: 4
748
713
  summary: A GraphQL language and runtime for Ruby
749
714
  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