graphql 2.2.9 → 2.2.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1a6fd973959b00f0c33ea17df3e1a5b8a11f51b426c987ea9f202e925c721e14
4
- data.tar.gz: 89191c20a40c0084375f2f711d12989e349982c5f27a27390889dc291f016e4e
3
+ metadata.gz: 0ed6a9339a1c67dca4307a9753eeb5c25d8ff6cd32fa156de65e852ddb21f5e9
4
+ data.tar.gz: 0ed35f51512eba4f60fa1c16d80d267f800c516d174c024d8beaa68fbcca3d33
5
5
  SHA512:
6
- metadata.gz: 6e862a85cf5f43693401461886d4f984703a6b221dc56c175f42a82fa81f0d9c77b7793247edab69eb85a2aa9930b7ba45ec3412a6642e263dc0e03ea5f58fe7
7
- data.tar.gz: 81d6a4de1214ed84ac55cf37ce76825de67e62a0728a950f5c20dbf3faa8e61420099dcfcc1841ea09f69f94b8a1c36e60a90799a33df64e2dd676a13b4cd1dd
6
+ metadata.gz: 159a9c932168794b7d4446ed0b207269c6f4ca05c45542c7632816a8bb0449b024f4879be95d8b762b0eb5e8969a31ce28915ec53853d4f67559d952908e59e2
7
+ data.tar.gz: f153e397dd3b83504ca97ff44ac3f479228d7d18df5bf24879c8e8a8113e54d61ba26b8b9c74516bc05d47cb7febfcd507b12e6f3d42988b8dad9b5e3a7fa211
@@ -512,7 +512,7 @@ module GraphQL
512
512
  # An operation-level query variable
513
513
  class VariableDefinition < AbstractNode
514
514
  scalar_methods :name, :type, :default_value
515
- children_methods false
515
+ children_methods(directives: Directive)
516
516
  # @!attribute default_value
517
517
  # @return [String, Integer, Float, Boolean, Array, NullValue] A Ruby value to use if no other value is provided
518
518
 
@@ -121,7 +121,17 @@ module GraphQL
121
121
  value
122
122
  end
123
123
 
124
- defs << Nodes::VariableDefinition.new(pos: loc, name: var_name, type: var_type, default_value: default_value, filename: @filename, source_string: @graphql_str)
124
+ directives = parse_directives
125
+
126
+ defs << Nodes::VariableDefinition.new(
127
+ pos: loc,
128
+ name: var_name,
129
+ type: var_type,
130
+ default_value: default_value,
131
+ directives: directives,
132
+ filename: @filename,
133
+ source_string: @graphql_str
134
+ )
125
135
  end
126
136
  expect_token(:RPAREN)
127
137
  defs
@@ -208,6 +208,10 @@ module GraphQL
208
208
  print_string(" = ")
209
209
  print_node(variable_definition.default_value)
210
210
  end
211
+ variable_definition.directives.each do |dir|
212
+ print_string(" ")
213
+ print_directive(dir)
214
+ end
211
215
  end
212
216
 
213
217
  def print_variable_identifier(variable_identifier)
@@ -69,7 +69,11 @@ module GraphQL
69
69
  end
70
70
  elsif child_class < GraphQL::Schema::Object
71
71
  # This is being included into an object type, make sure it's using `implements(...)`
72
- backtrace_line = caller(0, 10).find { |line| line.include?("schema/member/has_interfaces.rb") && line.include?("in `implements'")}
72
+ backtrace_line = caller_locations(0, 10).find do |location|
73
+ location.base_label == "implements" &&
74
+ location.path.end_with?("schema/member/has_interfaces.rb")
75
+ end
76
+
73
77
  if !backtrace_line
74
78
  raise "Attach interfaces using `implements(#{self})`, not `include(#{self})`"
75
79
  end
@@ -225,6 +225,10 @@ module GraphQL
225
225
  if base_class < DefaultTraceClass
226
226
  mods = trace_modules_for(:default) + mods
227
227
  end
228
+ # Copy the existing default options into this mode's options
229
+ default_options = trace_options_for(:default)
230
+ add_trace_options_for(mode, default_options)
231
+
228
232
  Class.new(base_class) do
229
233
  mods.any? && include(*mods)
230
234
  end
@@ -1133,20 +1137,23 @@ module GraphQL
1133
1137
  tc = own_trace_modes[mode] ||= build_trace_mode(mode)
1134
1138
  tc.include(trace_mod)
1135
1139
  own_trace_modules[mode] << trace_mod
1136
-
1140
+ add_trace_options_for(mode, options)
1137
1141
  if mode == :default
1138
1142
  # This module is being added as a default tracer. If any other mode classes
1139
1143
  # have already been created, but get their default behavior from a superclass,
1140
1144
  # Then mix this into this schema's subclass.
1141
1145
  # (But don't mix it into mode classes that aren't default-based.)
1142
1146
  own_trace_modes.each do |other_mode_name, other_mode_class|
1143
- if other_mode_class < DefaultTraceClass && !(other_mode_class < trace_mod)
1144
- other_mode_class.include(trace_mod)
1147
+ if other_mode_class < DefaultTraceClass
1148
+ # Don't add it back to the inheritance tree if it's already there
1149
+ if !(other_mode_class < trace_mod)
1150
+ other_mode_class.include(trace_mod)
1151
+ end
1152
+ # Add any options so they'll be available
1153
+ add_trace_options_for(other_mode_name, options)
1145
1154
  end
1146
1155
  end
1147
1156
  end
1148
- t_opts = trace_options_for(mode)
1149
- t_opts.merge!(options)
1150
1157
  end
1151
1158
  nil
1152
1159
  end
@@ -1182,13 +1189,15 @@ module GraphQL
1182
1189
  raise ArgumentError, "Can't use `context[:backtrace]` with a custom default trace mode (`#{dm.inspect}`)"
1183
1190
  else
1184
1191
  own_trace_modes[:default_backtrace] ||= build_trace_mode(:default_backtrace)
1192
+ options_trace_mode = :default
1185
1193
  :default_backtrace
1186
1194
  end
1187
1195
  else
1188
1196
  default_trace_mode
1189
1197
  end
1190
1198
 
1191
- base_trace_options = trace_options_for(trace_mode)
1199
+ options_trace_mode ||= trace_mode
1200
+ base_trace_options = trace_options_for(options_trace_mode)
1192
1201
  trace_options = base_trace_options.merge(options)
1193
1202
  trace_class_for_mode = trace_class_for(trace_mode) || raise(ArgumentError, "#{self} has no trace class for mode: #{trace_mode.inspect}")
1194
1203
  trace_class_for_mode.new(**trace_options)
@@ -1344,6 +1353,12 @@ module GraphQL
1344
1353
 
1345
1354
  private
1346
1355
 
1356
+ def add_trace_options_for(mode, new_options)
1357
+ t_opts = trace_options_for(mode)
1358
+ t_opts.merge!(new_options)
1359
+ nil
1360
+ end
1361
+
1347
1362
  # @param t [Module, Array<Module>]
1348
1363
  # @return [void]
1349
1364
  def add_type_and_traverse(t, root:)
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module GraphQL
3
- VERSION = "2.2.9"
3
+ VERSION = "2.2.10"
4
4
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.9
4
+ version: 2.2.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Mosolgo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-15 00:00:00.000000000 Z
11
+ date: 2024-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: base64
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: benchmark-ips
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -56,44 +70,44 @@ dependencies:
56
70
  name: minitest
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - "~>"
73
+ - - ">="
60
74
  - !ruby/object:Gem::Version
61
- version: 5.9.0
75
+ version: '0'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - "~>"
80
+ - - ">="
67
81
  - !ruby/object:Gem::Version
68
- version: 5.9.0
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: minitest-focus
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - "~>"
87
+ - - ">="
74
88
  - !ruby/object:Gem::Version
75
- version: '1.1'
89
+ version: '0'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - "~>"
94
+ - - ">="
81
95
  - !ruby/object:Gem::Version
82
- version: '1.1'
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: minitest-reporters
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - "~>"
101
+ - - ">="
88
102
  - !ruby/object:Gem::Version
89
- version: '1.0'
103
+ version: '0'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - "~>"
108
+ - - ">="
95
109
  - !ruby/object:Gem::Version
96
- version: '1.0'
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: rake
99
113
  requirement: !ruby/object:Gem::Requirement