graphql 1.11.6 → 1.13.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (293) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/graphql/core.rb +3 -8
  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/install_generator.rb +17 -7
  8. data/lib/generators/graphql/interface_generator.rb +7 -7
  9. data/lib/generators/graphql/loader_generator.rb +1 -0
  10. data/lib/generators/graphql/mutation_create_generator.rb +22 -0
  11. data/lib/generators/graphql/mutation_delete_generator.rb +22 -0
  12. data/lib/generators/graphql/mutation_generator.rb +6 -30
  13. data/lib/generators/graphql/mutation_update_generator.rb +22 -0
  14. data/lib/generators/graphql/object_generator.rb +12 -38
  15. data/lib/generators/graphql/orm_mutations_base.rb +40 -0
  16. data/lib/generators/graphql/relay.rb +63 -0
  17. data/lib/generators/graphql/relay_generator.rb +21 -0
  18. data/lib/generators/graphql/scalar_generator.rb +4 -2
  19. data/lib/generators/graphql/templates/base_connection.erb +8 -0
  20. data/lib/generators/graphql/templates/base_edge.erb +8 -0
  21. data/lib/generators/graphql/templates/enum.erb +5 -1
  22. data/lib/generators/graphql/templates/graphql_controller.erb +2 -2
  23. data/lib/generators/graphql/templates/input.erb +9 -0
  24. data/lib/generators/graphql/templates/interface.erb +4 -2
  25. data/lib/generators/graphql/templates/mutation.erb +1 -1
  26. data/lib/generators/graphql/templates/mutation_create.erb +20 -0
  27. data/lib/generators/graphql/templates/mutation_delete.erb +20 -0
  28. data/lib/generators/graphql/templates/mutation_update.erb +21 -0
  29. data/lib/generators/graphql/templates/node_type.erb +9 -0
  30. data/lib/generators/graphql/templates/object.erb +5 -3
  31. data/lib/generators/graphql/templates/query_type.erb +1 -3
  32. data/lib/generators/graphql/templates/scalar.erb +3 -1
  33. data/lib/generators/graphql/templates/schema.erb +19 -34
  34. data/lib/generators/graphql/templates/union.erb +4 -2
  35. data/lib/generators/graphql/type_generator.rb +47 -10
  36. data/lib/generators/graphql/union_generator.rb +5 -5
  37. data/lib/graphql/analysis/analyze_query.rb +7 -0
  38. data/lib/graphql/analysis/ast/field_usage.rb +28 -1
  39. data/lib/graphql/analysis/ast/query_complexity.rb +10 -14
  40. data/lib/graphql/analysis/ast/visitor.rb +14 -5
  41. data/lib/graphql/analysis/ast.rb +11 -2
  42. data/lib/graphql/argument.rb +1 -1
  43. data/lib/graphql/backtrace/inspect_result.rb +0 -1
  44. data/lib/graphql/backtrace/legacy_tracer.rb +56 -0
  45. data/lib/graphql/backtrace/table.rb +34 -3
  46. data/lib/graphql/backtrace/traced_error.rb +0 -1
  47. data/lib/graphql/backtrace/tracer.rb +40 -10
  48. data/lib/graphql/backtrace.rb +28 -19
  49. data/lib/graphql/backwards_compatibility.rb +2 -1
  50. data/lib/graphql/base_type.rb +6 -4
  51. data/lib/graphql/boolean_type.rb +1 -1
  52. data/lib/graphql/compatibility/execution_specification.rb +1 -0
  53. data/lib/graphql/compatibility/lazy_execution_specification.rb +2 -0
  54. data/lib/graphql/compatibility/query_parser_specification.rb +2 -0
  55. data/lib/graphql/compatibility/schema_parser_specification.rb +2 -0
  56. data/lib/graphql/dataloader/null_dataloader.rb +22 -0
  57. data/lib/graphql/dataloader/request.rb +19 -0
  58. data/lib/graphql/dataloader/request_all.rb +19 -0
  59. data/lib/graphql/dataloader/source.rb +155 -0
  60. data/lib/graphql/dataloader.rb +308 -0
  61. data/lib/graphql/date_encoding_error.rb +16 -0
  62. data/lib/graphql/define/assign_global_id_field.rb +1 -1
  63. data/lib/graphql/define/instance_definable.rb +48 -3
  64. data/lib/graphql/define/type_definer.rb +5 -5
  65. data/lib/graphql/deprecated_dsl.rb +18 -5
  66. data/lib/graphql/deprecation.rb +9 -0
  67. data/lib/graphql/directive/deprecated_directive.rb +1 -1
  68. data/lib/graphql/directive/include_directive.rb +1 -1
  69. data/lib/graphql/directive/skip_directive.rb +1 -1
  70. data/lib/graphql/directive.rb +1 -5
  71. data/lib/graphql/enum_type.rb +9 -3
  72. data/lib/graphql/execution/errors.rb +110 -7
  73. data/lib/graphql/execution/execute.rb +8 -1
  74. data/lib/graphql/execution/interpreter/arguments.rb +57 -5
  75. data/lib/graphql/execution/interpreter/arguments_cache.rb +49 -15
  76. data/lib/graphql/execution/interpreter/handles_raw_value.rb +0 -7
  77. data/lib/graphql/execution/interpreter/resolve.rb +37 -25
  78. data/lib/graphql/execution/interpreter/runtime.rb +670 -294
  79. data/lib/graphql/execution/interpreter.rb +16 -16
  80. data/lib/graphql/execution/lazy.rb +5 -1
  81. data/lib/graphql/execution/lookahead.rb +2 -2
  82. data/lib/graphql/execution/multiplex.rb +39 -23
  83. data/lib/graphql/field.rb +1 -1
  84. data/lib/graphql/float_type.rb +1 -1
  85. data/lib/graphql/function.rb +4 -0
  86. data/lib/graphql/id_type.rb +1 -1
  87. data/lib/graphql/input_object_type.rb +3 -1
  88. data/lib/graphql/int_type.rb +1 -1
  89. data/lib/graphql/integer_decoding_error.rb +17 -0
  90. data/lib/graphql/integer_encoding_error.rb +18 -2
  91. data/lib/graphql/interface_type.rb +4 -2
  92. data/lib/graphql/internal_representation/document.rb +2 -2
  93. data/lib/graphql/internal_representation/rewrite.rb +1 -1
  94. data/lib/graphql/introspection/directive_location_enum.rb +2 -2
  95. data/lib/graphql/introspection/directive_type.rb +11 -5
  96. data/lib/graphql/introspection/entry_points.rb +2 -2
  97. data/lib/graphql/introspection/enum_value_type.rb +2 -2
  98. data/lib/graphql/introspection/field_type.rb +3 -3
  99. data/lib/graphql/introspection/input_value_type.rb +10 -4
  100. data/lib/graphql/introspection/schema_type.rb +10 -5
  101. data/lib/graphql/introspection/type_type.rb +18 -12
  102. data/lib/graphql/introspection.rb +5 -2
  103. data/lib/graphql/invalid_null_error.rb +1 -1
  104. data/lib/graphql/language/block_string.rb +2 -6
  105. data/lib/graphql/language/cache.rb +37 -0
  106. data/lib/graphql/language/document_from_schema_definition.rb +60 -26
  107. data/lib/graphql/language/lexer.rb +50 -28
  108. data/lib/graphql/language/lexer.rl +2 -4
  109. data/lib/graphql/language/nodes.rb +14 -4
  110. data/lib/graphql/language/parser.rb +856 -825
  111. data/lib/graphql/language/parser.y +28 -11
  112. data/lib/graphql/language/printer.rb +10 -1
  113. data/lib/graphql/language/sanitized_printer.rb +5 -5
  114. data/lib/graphql/language/token.rb +0 -4
  115. data/lib/graphql/language.rb +1 -0
  116. data/lib/graphql/name_validator.rb +0 -4
  117. data/lib/graphql/object_type.rb +4 -4
  118. data/lib/graphql/pagination/active_record_relation_connection.rb +47 -3
  119. data/lib/graphql/pagination/connection.rb +19 -1
  120. data/lib/graphql/pagination/connections.rb +45 -30
  121. data/lib/graphql/pagination/relation_connection.rb +69 -28
  122. data/lib/graphql/parse_error.rb +0 -1
  123. data/lib/graphql/query/arguments.rb +2 -2
  124. data/lib/graphql/query/arguments_cache.rb +1 -2
  125. data/lib/graphql/query/context.rb +22 -4
  126. data/lib/graphql/query/executor.rb +0 -1
  127. data/lib/graphql/query/input_validation_result.rb +9 -0
  128. data/lib/graphql/query/literal_input.rb +1 -1
  129. data/lib/graphql/query/null_context.rb +21 -9
  130. data/lib/graphql/query/serial_execution/field_resolution.rb +1 -1
  131. data/lib/graphql/query/serial_execution.rb +1 -0
  132. data/lib/graphql/query/validation_pipeline.rb +3 -4
  133. data/lib/graphql/query/variable_validation_error.rb +3 -3
  134. data/lib/graphql/query/variables.rb +35 -4
  135. data/lib/graphql/query.rb +20 -8
  136. data/lib/graphql/railtie.rb +9 -1
  137. data/lib/graphql/rake_task.rb +3 -0
  138. data/lib/graphql/relay/array_connection.rb +2 -2
  139. data/lib/graphql/relay/base_connection.rb +7 -0
  140. data/lib/graphql/relay/connection_instrumentation.rb +4 -4
  141. data/lib/graphql/relay/connection_type.rb +16 -3
  142. data/lib/graphql/relay/edges_instrumentation.rb +0 -1
  143. data/lib/graphql/relay/global_id_resolve.rb +1 -2
  144. data/lib/graphql/relay/mutation.rb +2 -1
  145. data/lib/graphql/relay/node.rb +3 -0
  146. data/lib/graphql/relay/page_info.rb +1 -1
  147. data/lib/graphql/relay/range_add.rb +14 -5
  148. data/lib/graphql/relay/type_extensions.rb +2 -0
  149. data/lib/graphql/rubocop/graphql/base_cop.rb +36 -0
  150. data/lib/graphql/rubocop/graphql/default_null_true.rb +43 -0
  151. data/lib/graphql/rubocop/graphql/default_required_true.rb +43 -0
  152. data/lib/graphql/rubocop.rb +4 -0
  153. data/lib/graphql/scalar_type.rb +3 -1
  154. data/lib/graphql/schema/addition.rb +247 -0
  155. data/lib/graphql/schema/argument.rb +177 -21
  156. data/lib/graphql/schema/build_from_definition.rb +150 -55
  157. data/lib/graphql/schema/default_type_error.rb +2 -0
  158. data/lib/graphql/schema/directive/feature.rb +1 -1
  159. data/lib/graphql/schema/directive/flagged.rb +57 -0
  160. data/lib/graphql/schema/directive/include.rb +1 -1
  161. data/lib/graphql/schema/directive/skip.rb +1 -1
  162. data/lib/graphql/schema/directive/transform.rb +14 -2
  163. data/lib/graphql/schema/directive.rb +103 -4
  164. data/lib/graphql/schema/enum.rb +72 -11
  165. data/lib/graphql/schema/enum_value.rb +18 -6
  166. data/lib/graphql/schema/field/connection_extension.rb +4 -2
  167. data/lib/graphql/schema/field/scope_extension.rb +1 -1
  168. data/lib/graphql/schema/field.rb +332 -111
  169. data/lib/graphql/schema/field_extension.rb +89 -2
  170. data/lib/graphql/schema/find_inherited_value.rb +4 -1
  171. data/lib/graphql/schema/finder.rb +5 -5
  172. data/lib/graphql/schema/input_object.rb +79 -55
  173. data/lib/graphql/schema/interface.rb +12 -20
  174. data/lib/graphql/schema/introspection_system.rb +1 -1
  175. data/lib/graphql/schema/list.rb +21 -4
  176. data/lib/graphql/schema/loader.rb +11 -0
  177. data/lib/graphql/schema/member/accepts_definition.rb +15 -3
  178. data/lib/graphql/schema/member/base_dsl_methods.rb +5 -16
  179. data/lib/graphql/schema/member/build_type.rb +4 -7
  180. data/lib/graphql/schema/member/cached_graphql_definition.rb +29 -2
  181. data/lib/graphql/schema/member/has_arguments.rb +166 -74
  182. data/lib/graphql/schema/member/has_deprecation_reason.rb +25 -0
  183. data/lib/graphql/schema/member/has_directives.rb +98 -0
  184. data/lib/graphql/schema/member/has_fields.rb +77 -22
  185. data/lib/graphql/schema/member/has_interfaces.rb +100 -0
  186. data/lib/graphql/schema/member/has_validators.rb +31 -0
  187. data/lib/graphql/schema/member/instrumentation.rb +0 -1
  188. data/lib/graphql/schema/member/type_system_helpers.rb +1 -1
  189. data/lib/graphql/schema/member/validates_input.rb +2 -2
  190. data/lib/graphql/schema/member.rb +5 -0
  191. data/lib/graphql/schema/middleware_chain.rb +1 -1
  192. data/lib/graphql/schema/non_null.rb +9 -3
  193. data/lib/graphql/schema/object.rb +40 -80
  194. data/lib/graphql/schema/printer.rb +16 -20
  195. data/lib/graphql/schema/relay_classic_mutation.rb +38 -4
  196. data/lib/graphql/schema/resolver/has_payload_type.rb +29 -2
  197. data/lib/graphql/schema/resolver.rb +110 -64
  198. data/lib/graphql/schema/scalar.rb +18 -2
  199. data/lib/graphql/schema/subscription.rb +55 -9
  200. data/lib/graphql/schema/timeout_middleware.rb +3 -1
  201. data/lib/graphql/schema/traversal.rb +1 -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 +8 -1
  205. data/lib/graphql/schema/validation.rb +4 -2
  206. data/lib/graphql/schema/validator/allow_blank_validator.rb +29 -0
  207. data/lib/graphql/schema/validator/allow_null_validator.rb +26 -0
  208. data/lib/graphql/schema/validator/exclusion_validator.rb +33 -0
  209. data/lib/graphql/schema/validator/format_validator.rb +48 -0
  210. data/lib/graphql/schema/validator/inclusion_validator.rb +35 -0
  211. data/lib/graphql/schema/validator/length_validator.rb +59 -0
  212. data/lib/graphql/schema/validator/numericality_validator.rb +82 -0
  213. data/lib/graphql/schema/validator/required_validator.rb +82 -0
  214. data/lib/graphql/schema/validator.rb +171 -0
  215. data/lib/graphql/schema/warden.rb +126 -53
  216. data/lib/graphql/schema.rb +262 -281
  217. data/lib/graphql/static_validation/all_rules.rb +2 -0
  218. data/lib/graphql/static_validation/base_visitor.rb +9 -6
  219. data/lib/graphql/static_validation/definition_dependencies.rb +0 -1
  220. data/lib/graphql/static_validation/error.rb +3 -1
  221. data/lib/graphql/static_validation/literal_validator.rb +1 -1
  222. data/lib/graphql/static_validation/rules/argument_literals_are_compatible.rb +4 -2
  223. data/lib/graphql/static_validation/rules/argument_literals_are_compatible_error.rb +6 -2
  224. data/lib/graphql/static_validation/rules/arguments_are_defined.rb +3 -2
  225. data/lib/graphql/static_validation/rules/arguments_are_defined_error.rb +4 -2
  226. data/lib/graphql/static_validation/rules/directives_are_defined.rb +1 -1
  227. data/lib/graphql/static_validation/rules/directives_are_in_valid_locations.rb +1 -1
  228. data/lib/graphql/static_validation/rules/fields_will_merge.rb +90 -47
  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/query_root_exists.rb +17 -0
  234. data/lib/graphql/static_validation/rules/query_root_exists_error.rb +26 -0
  235. data/lib/graphql/static_validation/rules/required_arguments_are_present.rb +4 -2
  236. data/lib/graphql/static_validation/rules/required_input_object_attributes_are_present.rb +5 -5
  237. data/lib/graphql/static_validation/rules/unique_directives_per_location.rb +1 -1
  238. data/lib/graphql/static_validation/rules/variable_usages_are_allowed.rb +14 -8
  239. data/lib/graphql/static_validation/validation_context.rb +12 -2
  240. data/lib/graphql/static_validation/validation_timeout_error.rb +25 -0
  241. data/lib/graphql/static_validation/validator.rb +41 -10
  242. data/lib/graphql/static_validation.rb +1 -0
  243. data/lib/graphql/string_encoding_error.rb +13 -3
  244. data/lib/graphql/string_type.rb +1 -1
  245. data/lib/graphql/subscriptions/action_cable_subscriptions.rb +39 -8
  246. data/lib/graphql/subscriptions/broadcast_analyzer.rb +0 -3
  247. data/lib/graphql/subscriptions/event.rb +68 -32
  248. data/lib/graphql/subscriptions/instrumentation.rb +0 -1
  249. data/lib/graphql/subscriptions/serialize.rb +34 -5
  250. data/lib/graphql/subscriptions/subscription_root.rb +1 -1
  251. data/lib/graphql/subscriptions.rb +34 -39
  252. data/lib/graphql/tracing/active_support_notifications_tracing.rb +8 -21
  253. data/lib/graphql/tracing/appoptics_tracing.rb +3 -1
  254. data/lib/graphql/tracing/appsignal_tracing.rb +15 -0
  255. data/lib/graphql/tracing/data_dog_tracing.rb +24 -2
  256. data/lib/graphql/tracing/notifications_tracing.rb +59 -0
  257. data/lib/graphql/tracing/platform_tracing.rb +24 -12
  258. data/lib/graphql/tracing/prometheus_tracing/graphql_collector.rb +4 -1
  259. data/lib/graphql/tracing/skylight_tracing.rb +1 -1
  260. data/lib/graphql/tracing.rb +2 -2
  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 +13 -5
  264. data/lib/graphql/types/iso_8601_date_time.rb +8 -1
  265. data/lib/graphql/types/relay/base_connection.rb +6 -91
  266. data/lib/graphql/types/relay/base_edge.rb +2 -34
  267. data/lib/graphql/types/relay/connection_behaviors.rb +174 -0
  268. data/lib/graphql/types/relay/default_relay.rb +31 -0
  269. data/lib/graphql/types/relay/edge_behaviors.rb +64 -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 +3 -22
  275. data/lib/graphql/types/relay/nodes_field.rb +16 -18
  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 +1 -1
  281. data/lib/graphql/union_type.rb +3 -1
  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 +68 -37
  286. data/readme.md +3 -6
  287. metadata +83 -113
  288. data/lib/graphql/execution/interpreter/hash_response.rb +0 -46
  289. data/lib/graphql/types/relay/base_field.rb +0 -22
  290. data/lib/graphql/types/relay/base_interface.rb +0 -29
  291. data/lib/graphql/types/relay/base_object.rb +0 -26
  292. /data/lib/generators/graphql/{templates → install/templates}/base_mutation.erb +0 -0
  293. /data/lib/generators/graphql/{templates → install/templates}/mutation_type.erb +0 -0
@@ -1,7 +1,15 @@
1
1
  # frozen_string_literal: true
2
- require "graphql/types/relay/base_field"
3
- require "graphql/types/relay/base_object"
4
- require "graphql/types/relay/base_interface"
2
+
3
+ # behavior modules:
4
+ require "graphql/types/relay/default_relay"
5
+ require "graphql/types/relay/connection_behaviors"
6
+ require "graphql/types/relay/edge_behaviors"
7
+ require "graphql/types/relay/node_behaviors"
8
+ require "graphql/types/relay/page_info_behaviors"
9
+ require "graphql/types/relay/has_node_field"
10
+ require "graphql/types/relay/has_nodes_field"
11
+
12
+ # concrete classes based on the gem defaults:
5
13
  require "graphql/types/relay/page_info"
6
14
  require "graphql/types/relay/base_connection"
7
15
  require "graphql/types/relay/base_edge"
@@ -7,9 +7,15 @@ module GraphQL
7
7
 
8
8
  def self.coerce_result(value, ctx)
9
9
  str = value.to_s
10
- str.encoding == Encoding::UTF_8 ? str : str.encode(Encoding::UTF_8)
10
+ if str.ascii_only? || str.encoding == Encoding::UTF_8
11
+ str
12
+ elsif str.frozen?
13
+ str.encode(Encoding::UTF_8)
14
+ else
15
+ str.encode!(Encoding::UTF_8)
16
+ end
11
17
  rescue EncodingError
12
- err = GraphQL::StringEncodingError.new(str)
18
+ err = GraphQL::StringEncodingError.new(str, context: ctx)
13
19
  ctx.schema.type_error(err, ctx)
14
20
  end
15
21
 
@@ -12,7 +12,7 @@ module GraphQL
12
12
  attr_reader :type
13
13
 
14
14
  # @return [GraphQL::Query::Context] the context for the current query
15
- attr_reader :context
15
+ attr_accessor :context
16
16
 
17
17
  def initialize(message = nil, object: nil, type: nil, context: nil)
18
18
  if message.nil? && object.nil? && type.nil?
@@ -2,6 +2,8 @@
2
2
  module GraphQL
3
3
  # @api deprecated
4
4
  class UnionType < GraphQL::BaseType
5
+ extend Define::InstanceDefinable::DeprecatedDefine
6
+
5
7
  # Rubocop was unhappy about the syntax when this was a proc literal
6
8
  class AcceptPossibleTypesDefinition
7
9
  def self.call(target, possible_types, options = {})
@@ -9,7 +11,7 @@ module GraphQL
9
11
  end
10
12
  end
11
13
 
12
- accepts_definitions :resolve_type, :type_membership_class,
14
+ deprecated_accepts_definitions :resolve_type, :type_membership_class,
13
15
  possible_types: AcceptPossibleTypesDefinition
14
16
  ensure_defined :possible_types, :resolve_type, :resolve_type_proc, :type_membership_class
15
17
 
@@ -771,6 +771,7 @@ module GraphQL
771
771
 
772
772
  class Member
773
773
  def initialize(member, skip: SkipOnNullKeyword, type_transforms: DEFAULT_TYPE_TRANSFORMS, field_transforms: DEFAULT_FIELD_TRANSFORMS, clean_up_transforms: DEFAULT_CLEAN_UP_TRANSFORMS)
774
+ GraphQL::Deprecation.warn "#{self.class} will be removed from GraphQL-Ruby 2.0 (but there's no point in using it after you've transformed your code, anyways)"
774
775
  @member = member
775
776
  @skip = skip
776
777
  @type_transforms = type_transforms
@@ -4,6 +4,7 @@ module GraphQL
4
4
  module Upgrader
5
5
  class Schema
6
6
  def initialize(schema)
7
+ GraphQL::Deprecation.warn "#{self.class} will be removed from GraphQL-Ruby 2.0 (but there's no point in using it after you've transformed your code, anyways)"
7
8
  @schema = schema
8
9
  end
9
10
 
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module GraphQL
3
- VERSION = "1.11.6"
3
+ VERSION = "1.13.19"
4
4
  end
data/lib/graphql.rb CHANGED
@@ -4,7 +4,6 @@ require "json"
4
4
  require "set"
5
5
  require "singleton"
6
6
  require "forwardable"
7
- require_relative "./graphql/railtie" if defined? Rails::Railtie
8
7
 
9
8
  module GraphQL
10
9
  # forwards-compat for argument handling
@@ -18,6 +17,17 @@ module GraphQL
18
17
  class Error < StandardError
19
18
  end
20
19
 
20
+ # This error is raised when GraphQL-Ruby encounters a situation
21
+ # that it *thought* would never happen. Please report this bug!
22
+ class InvariantError < Error
23
+ def initialize(message)
24
+ message += "
25
+
26
+ This is probably a bug in GraphQL-Ruby, please report this error on GitHub: https://github.com/rmosolgo/graphql-ruby/issues/new?template=bug_report.md"
27
+ super(message)
28
+ end
29
+ end
30
+
21
31
  class RequiredImplementationMissingError < Error
22
32
  end
23
33
 
@@ -56,36 +66,26 @@ module GraphQL
56
66
  def self.scan_with_ragel(graphql_string)
57
67
  GraphQL::Language::Lexer.tokenize(graphql_string)
58
68
  end
59
-
60
- # Support Ruby 2.2 by implementing `-"str"`. If we drop 2.2 support, we can remove this backport.
61
- module StringDedupBackport
62
- refine String do
63
- def -@
64
- if frozen?
65
- self
66
- else
67
- self.dup.freeze
68
- end
69
- end
70
- end
71
- end
72
-
73
- module StringMatchBackport
74
- refine String do
75
- def match?(pattern)
76
- self =~ pattern
77
- end
78
- end
79
- end
80
69
  end
81
70
 
82
71
  # Order matters for these:
83
72
 
84
73
  require "graphql/execution_error"
74
+ require "graphql/runtime_type_error"
75
+ require "graphql/unresolved_type_error"
76
+ require "graphql/invalid_null_error"
77
+ require "graphql/analysis_error"
78
+ require "graphql/coercion_error"
79
+ require "graphql/invalid_name_error"
80
+ require "graphql/integer_decoding_error"
81
+ require "graphql/integer_encoding_error"
82
+ require "graphql/string_encoding_error"
83
+ require "graphql/date_encoding_error"
84
+
85
85
  require "graphql/define"
86
+ require "graphql/deprecation"
86
87
  require "graphql/base_type"
87
88
  require "graphql/object_type"
88
-
89
89
  require "graphql/enum_type"
90
90
  require "graphql/input_object_type"
91
91
  require "graphql/interface_type"
@@ -103,19 +103,23 @@ require "graphql/scalar_type"
103
103
  require "graphql/name_validator"
104
104
 
105
105
  require "graphql/language"
106
+
107
+ require_relative "./graphql/railtie" if defined? Rails::Railtie
108
+
106
109
  require "graphql/analysis"
107
110
  require "graphql/tracing"
108
111
  require "graphql/dig"
109
112
  require "graphql/execution"
110
- require "graphql/runtime_type_error"
111
- require "graphql/unresolved_type_error"
112
- require "graphql/invalid_null_error"
113
+ require "graphql/pagination"
113
114
  require "graphql/schema"
114
115
  require "graphql/query"
116
+ require "graphql/types"
117
+ require "graphql/dataloader"
118
+ require "graphql/filter"
119
+ require "graphql/internal_representation"
115
120
  require "graphql/directive"
121
+ require "graphql/static_validation"
116
122
  require "graphql/execution"
117
- require "graphql/types"
118
- require "graphql/relay"
119
123
  require "graphql/boolean_type"
120
124
  require "graphql/float_type"
121
125
  require "graphql/id_type"
@@ -125,18 +129,11 @@ require "graphql/schema/built_in_types"
125
129
  require "graphql/schema/loader"
126
130
  require "graphql/schema/printer"
127
131
  require "graphql/introspection"
132
+ require "graphql/relay"
128
133
 
129
- require "graphql/analysis_error"
130
- require "graphql/coercion_error"
131
- require "graphql/invalid_name_error"
132
- require "graphql/integer_encoding_error"
133
- require "graphql/string_encoding_error"
134
- require "graphql/internal_representation"
135
- require "graphql/static_validation"
136
134
  require "graphql/version"
137
135
  require "graphql/compatibility"
138
136
  require "graphql/function"
139
- require "graphql/filter"
140
137
  require "graphql/subscriptions"
141
138
  require "graphql/parse_error"
142
139
  require "graphql/backtrace"
@@ -146,4 +143,38 @@ require "graphql/authorization"
146
143
  require "graphql/unauthorized_error"
147
144
  require "graphql/unauthorized_field_error"
148
145
  require "graphql/load_application_object_failed_error"
149
- require "graphql/pagination"
146
+ require "graphql/directive/include_directive"
147
+ require "graphql/directive/skip_directive"
148
+ require "graphql/directive/deprecated_directive"
149
+
150
+ module GraphQL
151
+ # Ruby has `deprecate_constant`,
152
+ # but I don't see a way to give a nice error message in that case,
153
+ # so I'm doing this instead.
154
+ DEPRECATED_INT_TYPE = INT_TYPE
155
+ DEPRECATED_FLOAT_TYPE = FLOAT_TYPE
156
+ DEPRECATED_STRING_TYPE = STRING_TYPE
157
+ DEPRECATED_BOOLEAN_TYPE = BOOLEAN_TYPE
158
+ DEPRECATED_ID_TYPE = ID_TYPE
159
+
160
+ remove_const :INT_TYPE
161
+ remove_const :FLOAT_TYPE
162
+ remove_const :STRING_TYPE
163
+ remove_const :BOOLEAN_TYPE
164
+ remove_const :ID_TYPE
165
+
166
+ def self.const_missing(const_name)
167
+ deprecated_const_name = :"DEPRECATED_#{const_name}"
168
+ if const_defined?(deprecated_const_name)
169
+ deprecated_type = const_get(deprecated_const_name)
170
+ deprecated_caller = caller(1, 1).first
171
+ # Don't warn about internal uses, like `types.Int`
172
+ if !deprecated_caller.include?("lib/graphql")
173
+ warn "GraphQL::#{const_name} is deprecated and will be removed in GraphQL-Ruby 2.0, use GraphQL::Types::#{deprecated_type.graphql_name} instead. (from #{deprecated_caller})"
174
+ end
175
+ deprecated_type
176
+ else
177
+ super
178
+ end
179
+ end
180
+ end
data/readme.md CHANGED
@@ -1,15 +1,12 @@
1
1
  # graphql <img src="https://cloud.githubusercontent.com/assets/2231765/9094460/cb43861e-3b66-11e5-9fbf-71066ff3ab13.png" height="40" alt="graphql-ruby"/>
2
2
 
3
- [![Build Status](https://travis-ci.org/rmosolgo/graphql-ruby.svg?branch=master)](https://travis-ci.org/rmosolgo/graphql-ruby)
3
+ [![CI Suite](https://github.com/rmosolgo/graphql-ruby/actions/workflows/ci.yaml/badge.svg)](https://github.com/rmosolgo/graphql-ruby/actions/workflows/ci.yaml)
4
4
  [![Gem Version](https://badge.fury.io/rb/graphql.svg)](https://rubygems.org/gems/graphql)
5
- [![Code Climate](https://codeclimate.com/github/rmosolgo/graphql-ruby/badges/gpa.svg)](https://codeclimate.com/github/rmosolgo/graphql-ruby)
6
- [![Test Coverage](https://codeclimate.com/github/rmosolgo/graphql-ruby/badges/coverage.svg)](https://codeclimate.com/github/rmosolgo/graphql-ruby)
7
- [![built with love](https://cloud.githubusercontent.com/assets/2231765/6766607/d07992c6-cfc9-11e4-813f-d9240714dd50.png)](https://rmosolgo.github.io/react-badges/)
8
5
 
9
6
  A Ruby implementation of [GraphQL](https://graphql.org/).
10
7
 
11
8
  - [Website](https://graphql-ruby.org/)
12
- - [API Documentation](https://www.rubydoc.info/gems/graphql)
9
+ - [API Documentation](https://www.rubydoc.info/github/rmosolgo/graphql-ruby)
13
10
  - [Newsletter](https://tinyletter.com/graphql-ruby)
14
11
 
15
12
  ## Installation
@@ -47,6 +44,6 @@ I also sell [GraphQL::Pro](https://graphql.pro) which provides several features
47
44
 
48
45
  ## Getting Involved
49
46
 
50
- - __Say hi & ask questions__ in the [#ruby channel on Slack](https://graphql-slack.herokuapp.com/) or [on Twitter](https://twitter.com/rmosolgo)!
47
+ - __Say hi & ask questions__ in the #graphql-ruby channel on [Discord](https://discord.com/invite/xud7bH9) or [on Twitter](https://twitter.com/rmosolgo)!
51
48
  - __Report bugs__ by posting a description, full stack trace, and all relevant code in a [GitHub issue](https://github.com/rmosolgo/graphql-ruby/issues).
52
49
  - __Start hacking__ with the [Development guide](https://graphql-ruby.org/development).
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.11.6
4
+ version: 1.13.19
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-10-29 00:00:00.000000000 Z
11
+ date: 2023-02-02 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
@@ -329,27 +245,43 @@ files:
329
245
  - MIT-LICENSE
330
246
  - lib/generators/graphql/core.rb
331
247
  - lib/generators/graphql/enum_generator.rb
248
+ - lib/generators/graphql/field_extractor.rb
249
+ - lib/generators/graphql/input_generator.rb
250
+ - lib/generators/graphql/install/mutation_root_generator.rb
251
+ - lib/generators/graphql/install/templates/base_mutation.erb
252
+ - lib/generators/graphql/install/templates/mutation_type.erb
332
253
  - lib/generators/graphql/install_generator.rb
333
254
  - lib/generators/graphql/interface_generator.rb
334
255
  - lib/generators/graphql/loader_generator.rb
256
+ - lib/generators/graphql/mutation_create_generator.rb
257
+ - lib/generators/graphql/mutation_delete_generator.rb
335
258
  - lib/generators/graphql/mutation_generator.rb
259
+ - lib/generators/graphql/mutation_update_generator.rb
336
260
  - lib/generators/graphql/object_generator.rb
261
+ - lib/generators/graphql/orm_mutations_base.rb
262
+ - lib/generators/graphql/relay.rb
263
+ - lib/generators/graphql/relay_generator.rb
337
264
  - lib/generators/graphql/scalar_generator.rb
338
265
  - lib/generators/graphql/templates/base_argument.erb
266
+ - lib/generators/graphql/templates/base_connection.erb
267
+ - lib/generators/graphql/templates/base_edge.erb
339
268
  - lib/generators/graphql/templates/base_enum.erb
340
269
  - lib/generators/graphql/templates/base_field.erb
341
270
  - lib/generators/graphql/templates/base_input_object.erb
342
271
  - lib/generators/graphql/templates/base_interface.erb
343
- - lib/generators/graphql/templates/base_mutation.erb
344
272
  - lib/generators/graphql/templates/base_object.erb
345
273
  - lib/generators/graphql/templates/base_scalar.erb
346
274
  - lib/generators/graphql/templates/base_union.erb
347
275
  - lib/generators/graphql/templates/enum.erb
348
276
  - lib/generators/graphql/templates/graphql_controller.erb
277
+ - lib/generators/graphql/templates/input.erb
349
278
  - lib/generators/graphql/templates/interface.erb
350
279
  - lib/generators/graphql/templates/loader.erb
351
280
  - lib/generators/graphql/templates/mutation.erb
352
- - lib/generators/graphql/templates/mutation_type.erb
281
+ - lib/generators/graphql/templates/mutation_create.erb
282
+ - lib/generators/graphql/templates/mutation_delete.erb
283
+ - lib/generators/graphql/templates/mutation_update.erb
284
+ - lib/generators/graphql/templates/node_type.erb
353
285
  - lib/generators/graphql/templates/object.erb
354
286
  - lib/generators/graphql/templates/query_type.erb
355
287
  - lib/generators/graphql/templates/scalar.erb
@@ -379,6 +311,7 @@ files:
379
311
  - lib/graphql/authorization.rb
380
312
  - lib/graphql/backtrace.rb
381
313
  - lib/graphql/backtrace/inspect_result.rb
314
+ - lib/graphql/backtrace/legacy_tracer.rb
382
315
  - lib/graphql/backtrace/table.rb
383
316
  - lib/graphql/backtrace/traced_error.rb
384
317
  - lib/graphql/backtrace/tracer.rb
@@ -396,6 +329,12 @@ files:
396
329
  - lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb
397
330
  - lib/graphql/compatibility/query_parser_specification/query_assertions.rb
398
331
  - lib/graphql/compatibility/schema_parser_specification.rb
332
+ - lib/graphql/dataloader.rb
333
+ - lib/graphql/dataloader/null_dataloader.rb
334
+ - lib/graphql/dataloader/request.rb
335
+ - lib/graphql/dataloader/request_all.rb
336
+ - lib/graphql/dataloader/source.rb
337
+ - lib/graphql/date_encoding_error.rb
399
338
  - lib/graphql/define.rb
400
339
  - lib/graphql/define/assign_argument.rb
401
340
  - lib/graphql/define/assign_connection.rb
@@ -409,6 +348,7 @@ files:
409
348
  - lib/graphql/define/non_null_with_bang.rb
410
349
  - lib/graphql/define/type_definer.rb
411
350
  - lib/graphql/deprecated_dsl.rb
351
+ - lib/graphql/deprecation.rb
412
352
  - lib/graphql/dig.rb
413
353
  - lib/graphql/directive.rb
414
354
  - lib/graphql/directive/deprecated_directive.rb
@@ -427,7 +367,6 @@ files:
427
367
  - lib/graphql/execution/interpreter/arguments_cache.rb
428
368
  - lib/graphql/execution/interpreter/execution_errors.rb
429
369
  - lib/graphql/execution/interpreter/handles_raw_value.rb
430
- - lib/graphql/execution/interpreter/hash_response.rb
431
370
  - lib/graphql/execution/interpreter/resolve.rb
432
371
  - lib/graphql/execution/interpreter/runtime.rb
433
372
  - lib/graphql/execution/lazy.rb
@@ -445,6 +384,7 @@ files:
445
384
  - lib/graphql/id_type.rb
446
385
  - lib/graphql/input_object_type.rb
447
386
  - lib/graphql/int_type.rb
387
+ - lib/graphql/integer_decoding_error.rb
448
388
  - lib/graphql/integer_encoding_error.rb
449
389
  - lib/graphql/interface_type.rb
450
390
  - lib/graphql/internal_representation.rb
@@ -471,6 +411,7 @@ files:
471
411
  - lib/graphql/invalid_null_error.rb
472
412
  - lib/graphql/language.rb
473
413
  - lib/graphql/language/block_string.rb
414
+ - lib/graphql/language/cache.rb
474
415
  - lib/graphql/language/definition_slice.rb
475
416
  - lib/graphql/language/document_from_schema_definition.rb
476
417
  - lib/graphql/language/generation.rb
@@ -538,9 +479,14 @@ files:
538
479
  - lib/graphql/relay/range_add.rb
539
480
  - lib/graphql/relay/relation_connection.rb
540
481
  - lib/graphql/relay/type_extensions.rb
482
+ - lib/graphql/rubocop.rb
483
+ - lib/graphql/rubocop/graphql/base_cop.rb
484
+ - lib/graphql/rubocop/graphql/default_null_true.rb
485
+ - lib/graphql/rubocop/graphql/default_required_true.rb
541
486
  - lib/graphql/runtime_type_error.rb
542
487
  - lib/graphql/scalar_type.rb
543
488
  - lib/graphql/schema.rb
489
+ - lib/graphql/schema/addition.rb
544
490
  - lib/graphql/schema/argument.rb
545
491
  - lib/graphql/schema/base_64_bp.rb
546
492
  - lib/graphql/schema/base_64_encoder.rb
@@ -554,6 +500,7 @@ files:
554
500
  - lib/graphql/schema/directive.rb
555
501
  - lib/graphql/schema/directive/deprecated.rb
556
502
  - lib/graphql/schema/directive/feature.rb
503
+ - lib/graphql/schema/directive/flagged.rb
557
504
  - lib/graphql/schema/directive/include.rb
558
505
  - lib/graphql/schema/directive/skip.rb
559
506
  - lib/graphql/schema/directive/transform.rb
@@ -580,9 +527,13 @@ files:
580
527
  - lib/graphql/schema/member/graphql_type_names.rb
581
528
  - lib/graphql/schema/member/has_arguments.rb
582
529
  - lib/graphql/schema/member/has_ast_node.rb
530
+ - lib/graphql/schema/member/has_deprecation_reason.rb
531
+ - lib/graphql/schema/member/has_directives.rb
583
532
  - lib/graphql/schema/member/has_fields.rb
533
+ - lib/graphql/schema/member/has_interfaces.rb
584
534
  - lib/graphql/schema/member/has_path.rb
585
535
  - lib/graphql/schema/member/has_unresolved_type_error.rb
536
+ - lib/graphql/schema/member/has_validators.rb
586
537
  - lib/graphql/schema/member/instrumentation.rb
587
538
  - lib/graphql/schema/member/relay_shortcuts.rb
588
539
  - lib/graphql/schema/member/scoped.rb
@@ -609,6 +560,15 @@ files:
609
560
  - lib/graphql/schema/union.rb
610
561
  - lib/graphql/schema/unique_within_type.rb
611
562
  - lib/graphql/schema/validation.rb
563
+ - lib/graphql/schema/validator.rb
564
+ - lib/graphql/schema/validator/allow_blank_validator.rb
565
+ - lib/graphql/schema/validator/allow_null_validator.rb
566
+ - lib/graphql/schema/validator/exclusion_validator.rb
567
+ - lib/graphql/schema/validator/format_validator.rb
568
+ - lib/graphql/schema/validator/inclusion_validator.rb
569
+ - lib/graphql/schema/validator/length_validator.rb
570
+ - lib/graphql/schema/validator/numericality_validator.rb
571
+ - lib/graphql/schema/validator/required_validator.rb
612
572
  - lib/graphql/schema/warden.rb
613
573
  - lib/graphql/schema/wrapper.rb
614
574
  - lib/graphql/static_validation.rb
@@ -650,12 +610,16 @@ files:
650
610
  - lib/graphql/static_validation/rules/fragments_are_on_composite_types_error.rb
651
611
  - lib/graphql/static_validation/rules/fragments_are_used.rb
652
612
  - lib/graphql/static_validation/rules/fragments_are_used_error.rb
613
+ - lib/graphql/static_validation/rules/input_object_names_are_unique.rb
614
+ - lib/graphql/static_validation/rules/input_object_names_are_unique_error.rb
653
615
  - lib/graphql/static_validation/rules/mutation_root_exists.rb
654
616
  - lib/graphql/static_validation/rules/mutation_root_exists_error.rb
655
617
  - lib/graphql/static_validation/rules/no_definitions_are_present.rb
656
618
  - lib/graphql/static_validation/rules/no_definitions_are_present_error.rb
657
619
  - lib/graphql/static_validation/rules/operation_names_are_valid.rb
658
620
  - lib/graphql/static_validation/rules/operation_names_are_valid_error.rb
621
+ - lib/graphql/static_validation/rules/query_root_exists.rb
622
+ - lib/graphql/static_validation/rules/query_root_exists_error.rb
659
623
  - lib/graphql/static_validation/rules/required_arguments_are_present.rb
660
624
  - lib/graphql/static_validation/rules/required_arguments_are_present_error.rb
661
625
  - lib/graphql/static_validation/rules/required_input_object_attributes_are_present.rb
@@ -676,6 +640,7 @@ files:
676
640
  - lib/graphql/static_validation/rules/variables_are_used_and_defined_error.rb
677
641
  - lib/graphql/static_validation/type_stack.rb
678
642
  - lib/graphql/static_validation/validation_context.rb
643
+ - lib/graphql/static_validation/validation_timeout_error.rb
679
644
  - lib/graphql/static_validation/validator.rb
680
645
  - lib/graphql/string_encoding_error.rb
681
646
  - lib/graphql/string_type.rb
@@ -693,6 +658,7 @@ files:
693
658
  - lib/graphql/tracing/appsignal_tracing.rb
694
659
  - lib/graphql/tracing/data_dog_tracing.rb
695
660
  - lib/graphql/tracing/new_relic_tracing.rb
661
+ - lib/graphql/tracing/notifications_tracing.rb
696
662
  - lib/graphql/tracing/platform_tracing.rb
697
663
  - lib/graphql/tracing/prometheus_tracing.rb
698
664
  - lib/graphql/tracing/prometheus_tracing/graphql_collector.rb
@@ -712,13 +678,17 @@ files:
712
678
  - lib/graphql/types/relay.rb
713
679
  - lib/graphql/types/relay/base_connection.rb
714
680
  - lib/graphql/types/relay/base_edge.rb
715
- - lib/graphql/types/relay/base_field.rb
716
- - lib/graphql/types/relay/base_interface.rb
717
- - lib/graphql/types/relay/base_object.rb
681
+ - lib/graphql/types/relay/connection_behaviors.rb
682
+ - lib/graphql/types/relay/default_relay.rb
683
+ - lib/graphql/types/relay/edge_behaviors.rb
684
+ - lib/graphql/types/relay/has_node_field.rb
685
+ - lib/graphql/types/relay/has_nodes_field.rb
718
686
  - lib/graphql/types/relay/node.rb
687
+ - lib/graphql/types/relay/node_behaviors.rb
719
688
  - lib/graphql/types/relay/node_field.rb
720
689
  - lib/graphql/types/relay/nodes_field.rb
721
690
  - lib/graphql/types/relay/page_info.rb
691
+ - lib/graphql/types/relay/page_info_behaviors.rb
722
692
  - lib/graphql/types/string.rb
723
693
  - lib/graphql/unauthorized_error.rb
724
694
  - lib/graphql/unauthorized_field_error.rb
@@ -737,7 +707,7 @@ metadata:
737
707
  source_code_uri: https://github.com/rmosolgo/graphql-ruby
738
708
  bug_tracker_uri: https://github.com/rmosolgo/graphql-ruby/issues
739
709
  mailing_list_uri: https://tinyletter.com/graphql-ruby
740
- post_install_message:
710
+ post_install_message:
741
711
  rdoc_options: []
742
712
  require_paths:
743
713
  - lib
@@ -745,15 +715,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
745
715
  requirements:
746
716
  - - ">="
747
717
  - !ruby/object:Gem::Version
748
- version: 2.2.0
718
+ version: 2.4.0
749
719
  required_rubygems_version: !ruby/object:Gem::Requirement
750
720
  requirements:
751
721
  - - ">="
752
722
  - !ruby/object:Gem::Version
753
723
  version: '0'
754
724
  requirements: []
755
- rubygems_version: 3.0.3
756
- signing_key:
725
+ rubygems_version: 3.3.3
726
+ signing_key:
757
727
  specification_version: 4
758
728
  summary: A GraphQL language and runtime for Ruby
759
729
  test_files: []