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 +4 -4
- data/lib/graphql/language/nodes.rb +1 -1
- data/lib/graphql/language/parser.rb +11 -1
- data/lib/graphql/language/printer.rb +4 -0
- data/lib/graphql/schema/interface.rb +5 -1
- data/lib/graphql/schema.rb +21 -6
- data/lib/graphql/version.rb +1 -1
- metadata +28 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ed6a9339a1c67dca4307a9753eeb5c25d8ff6cd32fa156de65e852ddb21f5e9
|
4
|
+
data.tar.gz: 0ed35f51512eba4f60fa1c16d80d267f800c516d174c024d8beaa68fbcca3d33
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
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
|
-
|
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 =
|
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
|
data/lib/graphql/schema.rb
CHANGED
@@ -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
|
1144
|
-
|
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
|
-
|
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:)
|
data/lib/graphql/version.rb
CHANGED
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.
|
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-
|
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:
|
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:
|
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: '
|
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: '
|
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: '
|
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: '
|
110
|
+
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: rake
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|