graphql 1.12.1 → 1.12.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/graphql/install_generator.rb +4 -1
  3. data/lib/generators/graphql/loader_generator.rb +1 -0
  4. data/lib/generators/graphql/mutation_generator.rb +1 -0
  5. data/lib/generators/graphql/relay.rb +55 -0
  6. data/lib/generators/graphql/relay_generator.rb +4 -46
  7. data/lib/generators/graphql/type_generator.rb +1 -0
  8. data/lib/graphql.rb +5 -3
  9. data/lib/graphql/analysis/analyze_query.rb +1 -1
  10. data/lib/graphql/analysis/ast.rb +1 -1
  11. data/lib/graphql/backtrace/inspect_result.rb +0 -1
  12. data/lib/graphql/backtrace/table.rb +0 -1
  13. data/lib/graphql/backtrace/traced_error.rb +0 -1
  14. data/lib/graphql/backtrace/tracer.rb +4 -8
  15. data/lib/graphql/backwards_compatibility.rb +1 -1
  16. data/lib/graphql/base_type.rb +1 -1
  17. data/lib/graphql/compatibility/execution_specification.rb +1 -1
  18. data/lib/graphql/compatibility/lazy_execution_specification.rb +1 -1
  19. data/lib/graphql/compatibility/query_parser_specification.rb +1 -1
  20. data/lib/graphql/compatibility/schema_parser_specification.rb +1 -1
  21. data/lib/graphql/dataloader.rb +102 -92
  22. data/lib/graphql/dataloader/null_dataloader.rb +5 -5
  23. data/lib/graphql/dataloader/request.rb +1 -6
  24. data/lib/graphql/dataloader/request_all.rb +1 -4
  25. data/lib/graphql/dataloader/source.rb +20 -6
  26. data/lib/graphql/define/instance_definable.rb +1 -1
  27. data/lib/graphql/deprecated_dsl.rb +4 -4
  28. data/lib/graphql/deprecation.rb +13 -0
  29. data/lib/graphql/execution/errors.rb +1 -1
  30. data/lib/graphql/execution/execute.rb +1 -1
  31. data/lib/graphql/execution/interpreter.rb +3 -3
  32. data/lib/graphql/execution/interpreter/arguments_cache.rb +37 -14
  33. data/lib/graphql/execution/interpreter/resolve.rb +33 -25
  34. data/lib/graphql/execution/interpreter/runtime.rb +36 -74
  35. data/lib/graphql/execution/multiplex.rb +22 -23
  36. data/lib/graphql/function.rb +1 -1
  37. data/lib/graphql/internal_representation/document.rb +2 -2
  38. data/lib/graphql/internal_representation/rewrite.rb +1 -1
  39. data/lib/graphql/language.rb +1 -0
  40. data/lib/graphql/language/cache.rb +37 -0
  41. data/lib/graphql/language/parser.rb +15 -5
  42. data/lib/graphql/language/parser.y +15 -5
  43. data/lib/graphql/object_type.rb +0 -2
  44. data/lib/graphql/pagination/connection.rb +15 -1
  45. data/lib/graphql/pagination/connections.rb +2 -1
  46. data/lib/graphql/pagination/relation_connection.rb +5 -1
  47. data/lib/graphql/parse_error.rb +0 -1
  48. data/lib/graphql/query.rb +8 -2
  49. data/lib/graphql/query/arguments.rb +1 -1
  50. data/lib/graphql/query/arguments_cache.rb +0 -1
  51. data/lib/graphql/query/context.rb +1 -3
  52. data/lib/graphql/query/executor.rb +0 -1
  53. data/lib/graphql/query/null_context.rb +3 -2
  54. data/lib/graphql/query/serial_execution.rb +1 -1
  55. data/lib/graphql/query/variable_validation_error.rb +1 -1
  56. data/lib/graphql/railtie.rb +9 -1
  57. data/lib/graphql/relay/base_connection.rb +2 -2
  58. data/lib/graphql/relay/mutation.rb +1 -1
  59. data/lib/graphql/relay/node.rb +3 -3
  60. data/lib/graphql/relay/range_add.rb +10 -5
  61. data/lib/graphql/relay/type_extensions.rb +2 -2
  62. data/lib/graphql/schema.rb +14 -13
  63. data/lib/graphql/schema/argument.rb +61 -0
  64. data/lib/graphql/schema/field.rb +12 -7
  65. data/lib/graphql/schema/field/connection_extension.rb +1 -0
  66. data/lib/graphql/schema/find_inherited_value.rb +3 -1
  67. data/lib/graphql/schema/input_object.rb +6 -2
  68. data/lib/graphql/schema/member/has_arguments.rb +43 -56
  69. data/lib/graphql/schema/member/has_fields.rb +1 -4
  70. data/lib/graphql/schema/member/instrumentation.rb +0 -1
  71. data/lib/graphql/schema/middleware_chain.rb +1 -1
  72. data/lib/graphql/schema/resolver.rb +28 -1
  73. data/lib/graphql/schema/timeout_middleware.rb +1 -1
  74. data/lib/graphql/schema/validation.rb +2 -2
  75. data/lib/graphql/static_validation/rules/variable_usages_are_allowed.rb +2 -2
  76. data/lib/graphql/static_validation/validator.rb +2 -2
  77. data/lib/graphql/subscriptions/event.rb +0 -1
  78. data/lib/graphql/subscriptions/instrumentation.rb +0 -1
  79. data/lib/graphql/subscriptions/serialize.rb +0 -1
  80. data/lib/graphql/subscriptions/subscription_root.rb +1 -1
  81. data/lib/graphql/tracing/active_support_notifications_tracing.rb +2 -1
  82. data/lib/graphql/tracing/skylight_tracing.rb +1 -1
  83. data/lib/graphql/types/relay/connection_behaviors.rb +25 -3
  84. data/lib/graphql/upgrader/member.rb +1 -1
  85. data/lib/graphql/upgrader/schema.rb +1 -1
  86. data/lib/graphql/version.rb +1 -1
  87. data/readme.md +1 -1
  88. metadata +6 -87
@@ -74,11 +74,8 @@ module GraphQL
74
74
  @field_class = new_field_class
75
75
  elsif defined?(@field_class) && @field_class
76
76
  @field_class
77
- elsif self.is_a?(Class)
78
- superclass.respond_to?(:field_class) ? superclass.field_class : GraphQL::Schema::Field
79
77
  else
80
- ancestor = ancestors[1..-1].find { |a| a.respond_to?(:field_class) && a.field_class }
81
- ancestor ? ancestor.field_class : GraphQL::Schema::Field
78
+ find_inherited_value(:field_class, GraphQL::Schema::Field)
82
79
  end
83
80
  end
84
81
 
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # test_via: ../object.rb
3
2
 
4
3
  module GraphQL
5
4
  class Schema
@@ -71,7 +71,7 @@ module GraphQL
71
71
 
72
72
  def wrap(callable)
73
73
  if BackwardsCompatibility.get_arity(callable) == 6
74
- warn("Middleware that takes a next_middleware parameter is deprecated (#{callable.inspect}); instead, accept a block and use yield.")
74
+ GraphQL::Deprecation.warn("Middleware that takes a next_middleware parameter is deprecated (#{callable.inspect}); instead, accept a block and use yield.")
75
75
  MiddlewareWrapper.new(callable)
76
76
  else
77
77
  callable
@@ -276,8 +276,29 @@ module GraphQL
276
276
  end
277
277
  end
278
278
 
279
+ # Get or set the `max_page_size:` which will be configured for fields using this resolver
280
+ # (`nil` means "unlimited max page size".)
281
+ # @param max_page_size [Integer, nil] Set a new value
282
+ # @return [Integer, nil] The `max_page_size` assigned to fields that use this resolver
283
+ def max_page_size(new_max_page_size = :not_given)
284
+ if new_max_page_size != :not_given
285
+ @max_page_size = new_max_page_size
286
+ elsif defined?(@max_page_size)
287
+ @max_page_size
288
+ elsif superclass.respond_to?(:max_page_size)
289
+ superclass.max_page_size
290
+ else
291
+ nil
292
+ end
293
+ end
294
+
295
+ # @return [Boolean] `true` if this resolver or a superclass has an assigned `max_page_size`
296
+ def has_max_page_size?
297
+ defined?(@max_page_size) || (superclass.respond_to?(:has_max_page_size?) && superclass.has_max_page_size?)
298
+ end
299
+
279
300
  def field_options
280
- {
301
+ field_opts = {
281
302
  type: type_expr,
282
303
  description: description,
283
304
  extras: extras,
@@ -289,6 +310,12 @@ module GraphQL
289
310
  extensions: extensions,
290
311
  broadcastable: broadcastable?,
291
312
  }
313
+
314
+ if has_max_page_size?
315
+ field_opts[:max_page_size] = max_page_size
316
+ end
317
+
318
+ field_opts
292
319
  end
293
320
 
294
321
  # A non-normalized type configuration, without `null` applied
@@ -30,7 +30,7 @@ module GraphQL
30
30
  def initialize(max_seconds:, context_key: nil, &block)
31
31
  @max_seconds = max_seconds
32
32
  if context_key
33
- warn("TimeoutMiddleware's `context_key` is ignored, timeout data is now stored in isolated storage")
33
+ GraphQL::Deprecation.warn("TimeoutMiddleware's `context_key` is ignored, timeout data is now stored in isolated storage")
34
34
  end
35
35
  @error_handler = block
36
36
  end
@@ -203,7 +203,7 @@ module GraphQL
203
203
  RESERVED_TYPE_NAME = ->(type) {
204
204
  if type.name.start_with?('__') && !type.introspection?
205
205
  # TODO: make this a hard failure in a later version
206
- warn("Name #{type.name.inspect} must not begin with \"__\", which is reserved by GraphQL introspection.")
206
+ GraphQL::Deprecation.warn("Name #{type.name.inspect} must not begin with \"__\", which is reserved by GraphQL introspection.")
207
207
  nil
208
208
  else
209
209
  # ok name
@@ -213,7 +213,7 @@ module GraphQL
213
213
  RESERVED_NAME = ->(named_thing) {
214
214
  if named_thing.name.start_with?('__')
215
215
  # TODO: make this a hard failure in a later version
216
- warn("Name #{named_thing.name.inspect} must not begin with \"__\", which is reserved by GraphQL introspection.")
216
+ GraphQL::Deprecation.warn("Name #{named_thing.name.inspect} must not begin with \"__\", which is reserved by GraphQL introspection.")
217
217
  nil
218
218
  else
219
219
  # no worries
@@ -29,8 +29,8 @@ module GraphQL
29
29
  context.directive_definition.arguments
30
30
  when GraphQL::Language::Nodes::InputObject
31
31
  arg_type = context.argument_definition.type.unwrap
32
- if arg_type.is_a?(GraphQL::InputObjectType)
33
- arguments = arg_type.input_fields
32
+ if arg_type.kind.input_object?
33
+ arguments = arg_type.arguments
34
34
  else
35
35
  # This is some kind of error
36
36
  nil
@@ -45,8 +45,8 @@ module GraphQL
45
45
  unless (legacy_rules = rules_to_use - GraphQL::StaticValidation::ALL_RULES).empty?
46
46
  legacy_rules.each do |rule_class_or_module|
47
47
  if rule_class_or_module.method_defined?(:validate)
48
- warn "Legacy validator rules will be removed from GraphQL-Ruby 2.0, use a module instead (see the built-in rules: https://github.com/rmosolgo/graphql-ruby/tree/master/lib/graphql/static_validation/rules)"
49
- warn " -> Legacy validator: #{rule_class_or_module}"
48
+ GraphQL::Deprecation.warn "Legacy validator rules will be removed from GraphQL-Ruby 2.0, use a module instead (see the built-in rules: https://github.com/rmosolgo/graphql-ruby/tree/master/lib/graphql/static_validation/rules)"
49
+ GraphQL::Deprecation.warn " -> Legacy validator: #{rule_class_or_module}"
50
50
  rule_class_or_module.new.validate(context)
51
51
  end
52
52
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # test_via: ../subscriptions.rb
3
2
  module GraphQL
4
3
  class Subscriptions
5
4
  # This thing can be:
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # test_via: ../subscriptions.rb
3
2
  module GraphQL
4
3
  class Subscriptions
5
4
  # Wrap the root fields of the subscription type with special logic for:
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # test_via: ../subscriptions.rb
3
2
  require "set"
4
3
  module GraphQL
5
4
  class Subscriptions
@@ -6,7 +6,7 @@ module GraphQL
6
6
  # @deprecated This module is no longer needed.
7
7
  module SubscriptionRoot
8
8
  def self.extended(child_cls)
9
- warn "`extend GraphQL::Subscriptions::SubscriptionRoot` is no longer required; you can remove it from your Subscription type (#{child_cls})"
9
+ GraphQL::Deprecation.warn "`extend GraphQL::Subscriptions::SubscriptionRoot` is no longer required; you can remove it from your Subscription type (#{child_cls})"
10
10
  child_cls.include(InstanceMethods)
11
11
  end
12
12
 
@@ -3,8 +3,9 @@
3
3
  module GraphQL
4
4
  module Tracing
5
5
  # This implementation forwards events to ActiveSupport::Notifications
6
- # with a `graphql.` prefix.
6
+ # with a `graphql` suffix.
7
7
  #
8
+ # @see KEYS for event names
8
9
  module ActiveSupportNotificationsTracing
9
10
  # A cache of frequently-used keys to avoid needless string allocations
10
11
  KEYS = {
@@ -18,7 +18,7 @@ module GraphQL
18
18
  # This is not advised if you run more than one query per HTTP request, for example, with `graphql-client` or multiplexing.
19
19
  # It can also be specified per-query with `context[:set_skylight_endpoint_name]`.
20
20
  def initialize(options = {})
21
- warn("GraphQL::Tracing::SkylightTracing is deprecated and will be removed in GraphQL-Ruby 2.0, please enable Skylight's GraphQL probe instead: https://www.skylight.io/support/getting-more-from-skylight#graphql.")
21
+ GraphQL::Deprecation.warn("GraphQL::Tracing::SkylightTracing is deprecated and will be removed in GraphQL-Ruby 2.0, please enable Skylight's GraphQL probe instead: https://www.skylight.io/support/getting-more-from-skylight#graphql.")
22
22
  @set_endpoint_name = options.fetch(:set_endpoint_name, false)
23
23
  super
24
24
  end
@@ -12,6 +12,8 @@ module GraphQL
12
12
  child_class.extend(Relay::DefaultRelay)
13
13
  child_class.default_relay(true)
14
14
  child_class.node_nullable(true)
15
+ child_class.edges_nullable(true)
16
+ child_class.edge_nullable(true)
15
17
  add_page_info_field(child_class)
16
18
  end
17
19
 
@@ -32,7 +34,7 @@ module GraphQL
32
34
  # It's called when you subclass this base connection, trying to use the
33
35
  # class name to set defaults. You can call it again in the class definition
34
36
  # to override the default (or provide a value, if the default lookup failed).
35
- def edge_type(edge_type_class, edge_class: GraphQL::Relay::Edge, node_type: edge_type_class.node_type, nodes_field: true, node_nullable: self.node_nullable)
37
+ def edge_type(edge_type_class, edge_class: GraphQL::Relay::Edge, node_type: edge_type_class.node_type, nodes_field: true, node_nullable: self.node_nullable, edges_nullable: self.edges_nullable, edge_nullable: self.edge_nullable)
36
38
  # Set this connection's graphql name
37
39
  node_type_name = node_type.graphql_name
38
40
 
@@ -40,8 +42,8 @@ module GraphQL
40
42
  @edge_type = edge_type_class
41
43
  @edge_class = edge_class
42
44
 
43
- field :edges, [edge_type_class, null: true],
44
- null: true,
45
+ field :edges, [edge_type_class, null: edge_nullable],
46
+ null: edges_nullable,
45
47
  description: "A list of edges.",
46
48
  legacy_edge_class: edge_class, # This is used by the old runtime only, for EdgesInstrumentation
47
49
  connection: false
@@ -83,6 +85,26 @@ module GraphQL
83
85
  end
84
86
  end
85
87
 
88
+ # Set the default `edges_nullable` for this class and its child classes. (Defaults to `true`.)
89
+ # Use `edges_nullable(false)` in your base class to make non-null `edges` fields.
90
+ def edges_nullable(new_value = nil)
91
+ if new_value.nil?
92
+ @edges_nullable || superclass.edges_nullable
93
+ else
94
+ @edges_nullable ||= new_value
95
+ end
96
+ end
97
+
98
+ # Set the default `edge_nullable` for this class and its child classes. (Defaults to `true`.)
99
+ # Use `edge_nullable(false)` in your base class to make non-null `edge` fields.
100
+ def edge_nullable(new_value = nil)
101
+ if new_value.nil?
102
+ @edge_nullable || superclass.edge_nullable
103
+ else
104
+ @edge_nullable ||= new_value
105
+ end
106
+ end
107
+
86
108
  private
87
109
 
88
110
  def define_nodes_field(nullable)
@@ -771,7 +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
- 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
+ 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)"
775
775
  @member = member
776
776
  @skip = skip
777
777
  @type_transforms = type_transforms
@@ -4,7 +4,7 @@ module GraphQL
4
4
  module Upgrader
5
5
  class Schema
6
6
  def initialize(schema)
7
- 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
+ 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)"
8
8
  @schema = schema
9
9
  end
10
10
 
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module GraphQL
3
- VERSION = "1.12.1"
3
+ VERSION = "1.12.6"
4
4
  end
data/readme.md CHANGED
@@ -1,6 +1,6 @@
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
5
  [![Code Climate](https://codeclimate.com/github/rmosolgo/graphql-ruby/badges/gpa.svg)](https://codeclimate.com/github/rmosolgo/graphql-ruby)
6
6
  [![Test Coverage](https://codeclimate.com/github/rmosolgo/graphql-ruby/badges/coverage.svg)](https://codeclimate.com/github/rmosolgo/graphql-ruby)
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.12.1
4
+ version: 1.12.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Mosolgo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-25 00:00:00.000000000 Z
11
+ date: 2021-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: benchmark-ips
@@ -52,76 +52,6 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  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
55
  - !ruby/object:Gem::Dependency
126
56
  name: memory_profiler
127
57
  requirement: !ruby/object:Gem::Requirement
@@ -220,20 +150,6 @@ dependencies:
220
150
  - - '='
221
151
  - !ruby/object:Gem::Version
222
152
  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'
237
153
  - !ruby/object:Gem::Dependency
238
154
  name: parser
239
155
  requirement: !ruby/object:Gem::Requirement
@@ -348,6 +264,7 @@ files:
348
264
  - lib/generators/graphql/loader_generator.rb
349
265
  - lib/generators/graphql/mutation_generator.rb
350
266
  - lib/generators/graphql/object_generator.rb
267
+ - lib/generators/graphql/relay.rb
351
268
  - lib/generators/graphql/relay_generator.rb
352
269
  - lib/generators/graphql/scalar_generator.rb
353
270
  - lib/generators/graphql/templates/base_argument.erb
@@ -433,6 +350,7 @@ files:
433
350
  - lib/graphql/define/non_null_with_bang.rb
434
351
  - lib/graphql/define/type_definer.rb
435
352
  - lib/graphql/deprecated_dsl.rb
353
+ - lib/graphql/deprecation.rb
436
354
  - lib/graphql/dig.rb
437
355
  - lib/graphql/directive.rb
438
356
  - lib/graphql/directive/deprecated_directive.rb
@@ -496,6 +414,7 @@ files:
496
414
  - lib/graphql/invalid_null_error.rb
497
415
  - lib/graphql/language.rb
498
416
  - lib/graphql/language/block_string.rb
417
+ - lib/graphql/language/cache.rb
499
418
  - lib/graphql/language/definition_slice.rb
500
419
  - lib/graphql/language/document_from_schema_definition.rb
501
420
  - lib/graphql/language/generation.rb
@@ -795,7 +714,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
795
714
  - !ruby/object:Gem::Version
796
715
  version: '0'
797
716
  requirements: []
798
- rubygems_version: 3.0.3
717
+ rubygems_version: 3.1.4
799
718
  signing_key:
800
719
  specification_version: 4
801
720
  summary: A GraphQL language and runtime for Ruby