graphql 1.10.0.pre1 → 1.10.0.pre2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/generators/graphql/core.rb +1 -0
- data/lib/generators/graphql/install_generator.rb +1 -0
- data/lib/generators/graphql/mutation_generator.rb +1 -1
- data/lib/generators/graphql/templates/base_field.erb +0 -4
- data/lib/generators/graphql/templates/base_mutation.erb +8 -0
- data/lib/generators/graphql/templates/graphql_controller.erb +5 -0
- data/lib/generators/graphql/templates/mutation.erb +1 -1
- data/lib/generators/graphql/templates/schema.erb +1 -1
- data/lib/graphql.rb +4 -1
- data/lib/graphql/analysis/ast.rb +14 -13
- data/lib/graphql/analysis/ast/analyzer.rb +23 -4
- data/lib/graphql/analysis/ast/field_usage.rb +1 -1
- data/lib/graphql/analysis/ast/max_query_complexity.rb +3 -3
- data/lib/graphql/analysis/ast/max_query_depth.rb +7 -3
- data/lib/graphql/analysis/ast/query_complexity.rb +2 -2
- data/lib/graphql/analysis/ast/visitor.rb +3 -3
- data/lib/graphql/base_type.rb +1 -1
- data/lib/graphql/directive.rb +0 -1
- data/lib/graphql/directive/deprecated_directive.rb +1 -12
- data/lib/graphql/execution/errors.rb +4 -8
- data/lib/graphql/execution/interpreter.rb +5 -11
- data/lib/graphql/execution/interpreter/runtime.rb +56 -48
- data/lib/graphql/execution/lazy/lazy_method_map.rb +4 -0
- data/lib/graphql/execution/lookahead.rb +5 -5
- data/lib/graphql/execution/multiplex.rb +10 -0
- data/lib/graphql/function.rb +1 -1
- data/lib/graphql/input_object_type.rb +3 -2
- data/lib/graphql/interface_type.rb +1 -1
- data/lib/graphql/introspection/base_object.rb +2 -5
- data/lib/graphql/introspection/directive_type.rb +1 -1
- data/lib/graphql/introspection/entry_points.rb +6 -6
- data/lib/graphql/introspection/schema_type.rb +1 -6
- data/lib/graphql/introspection/type_type.rb +5 -5
- data/lib/graphql/language.rb +1 -1
- data/lib/graphql/language/block_string.rb +2 -2
- data/lib/graphql/language/definition_slice.rb +21 -10
- data/lib/graphql/language/document_from_schema_definition.rb +42 -42
- data/lib/graphql/language/lexer.rb +49 -48
- data/lib/graphql/language/lexer.rl +49 -48
- data/lib/graphql/language/nodes.rb +11 -8
- data/lib/graphql/language/parser.rb +4 -1
- data/lib/graphql/language/parser.y +4 -1
- data/lib/graphql/language/token.rb +1 -1
- data/lib/graphql/pagination/array_connection.rb +0 -1
- data/lib/graphql/pagination/connection.rb +31 -10
- data/lib/graphql/pagination/connections.rb +7 -2
- data/lib/graphql/pagination/relation_connection.rb +1 -7
- data/lib/graphql/query.rb +9 -4
- data/lib/graphql/query/arguments.rb +8 -1
- data/lib/graphql/query/literal_input.rb +2 -1
- data/lib/graphql/query/variables.rb +5 -1
- data/lib/graphql/relay/base_connection.rb +3 -3
- data/lib/graphql/relay/relation_connection.rb +9 -5
- data/lib/graphql/schema.rb +699 -153
- data/lib/graphql/schema/argument.rb +20 -4
- data/lib/graphql/schema/build_from_definition.rb +64 -31
- data/lib/graphql/schema/built_in_types.rb +5 -5
- data/lib/graphql/schema/directive.rb +16 -1
- data/lib/graphql/schema/directive/deprecated.rb +18 -0
- data/lib/graphql/schema/directive/feature.rb +1 -1
- data/lib/graphql/schema/enum.rb +39 -3
- data/lib/graphql/schema/field.rb +39 -9
- data/lib/graphql/schema/field/connection_extension.rb +4 -4
- data/lib/graphql/schema/find_inherited_value.rb +13 -0
- data/lib/graphql/schema/finder.rb +13 -11
- data/lib/graphql/schema/input_object.rb +109 -1
- data/lib/graphql/schema/interface.rb +8 -7
- data/lib/graphql/schema/introspection_system.rb +104 -36
- data/lib/graphql/schema/late_bound_type.rb +1 -0
- data/lib/graphql/schema/list.rb +26 -0
- data/lib/graphql/schema/loader.rb +10 -4
- data/lib/graphql/schema/member.rb +3 -0
- data/lib/graphql/schema/member/base_dsl_methods.rb +23 -13
- data/lib/graphql/schema/member/build_type.rb +1 -1
- data/lib/graphql/schema/member/has_arguments.rb +2 -2
- data/lib/graphql/schema/member/has_fields.rb +15 -6
- data/lib/graphql/schema/member/instrumentation.rb +6 -1
- data/lib/graphql/schema/member/type_system_helpers.rb +1 -1
- data/lib/graphql/schema/member/validates_input.rb +33 -0
- data/lib/graphql/schema/non_null.rb +25 -0
- data/lib/graphql/schema/object.rb +14 -1
- data/lib/graphql/schema/printer.rb +4 -3
- data/lib/graphql/schema/relay_classic_mutation.rb +5 -1
- data/lib/graphql/schema/resolver.rb +20 -2
- data/lib/graphql/schema/scalar.rb +18 -3
- data/lib/graphql/schema/subscription.rb +1 -1
- data/lib/graphql/schema/timeout_middleware.rb +3 -2
- data/lib/graphql/schema/traversal.rb +1 -1
- data/lib/graphql/schema/type_expression.rb +22 -24
- data/lib/graphql/schema/validation.rb +17 -1
- data/lib/graphql/schema/warden.rb +46 -17
- data/lib/graphql/schema/wrapper.rb +1 -1
- data/lib/graphql/static_validation/base_visitor.rb +10 -6
- data/lib/graphql/static_validation/definition_dependencies.rb +21 -12
- data/lib/graphql/static_validation/rules/fields_are_defined_on_type.rb +4 -4
- data/lib/graphql/static_validation/rules/fragment_spreads_are_possible.rb +3 -3
- data/lib/graphql/static_validation/type_stack.rb +2 -2
- data/lib/graphql/static_validation/validator.rb +1 -1
- data/lib/graphql/subscriptions.rb +38 -13
- data/lib/graphql/subscriptions/event.rb +24 -7
- data/lib/graphql/subscriptions/instrumentation.rb +1 -1
- data/lib/graphql/subscriptions/subscription_root.rb +0 -1
- data/lib/graphql/tracing/active_support_notifications_tracing.rb +10 -10
- data/lib/graphql/tracing/platform_tracing.rb +1 -2
- data/lib/graphql/tracing/skylight_tracing.rb +1 -0
- data/lib/graphql/unresolved_type_error.rb +2 -2
- data/lib/graphql/upgrader/member.rb +1 -1
- data/lib/graphql/version.rb +1 -1
- metadata +5 -2
@@ -9,16 +9,16 @@ module GraphQL
|
|
9
9
|
if field.nil?
|
10
10
|
if parent_type.kind.union?
|
11
11
|
add_error(GraphQL::StaticValidation::FieldsHaveAppropriateSelectionsError.new(
|
12
|
-
"Selections can't be made directly on unions (see selections on #{parent_type.
|
12
|
+
"Selections can't be made directly on unions (see selections on #{parent_type.graphql_name})",
|
13
13
|
nodes: parent,
|
14
|
-
node_name: parent_type.
|
14
|
+
node_name: parent_type.graphql_name
|
15
15
|
))
|
16
16
|
else
|
17
17
|
add_error(GraphQL::StaticValidation::FieldsAreDefinedOnTypeError.new(
|
18
|
-
"Field '#{node.name}' doesn't exist on type '#{parent_type.
|
18
|
+
"Field '#{node.name}' doesn't exist on type '#{parent_type.graphql_name}'",
|
19
19
|
nodes: node,
|
20
20
|
field: node.name,
|
21
|
-
type: parent_type.
|
21
|
+
type: parent_type.graphql_name
|
22
22
|
))
|
23
23
|
end
|
24
24
|
else
|
@@ -50,12 +50,12 @@ module GraphQL
|
|
50
50
|
if child_types.none? { |c| parent_types.include?(c) }
|
51
51
|
name = node.respond_to?(:name) ? " #{node.name}" : ""
|
52
52
|
add_error(GraphQL::StaticValidation::FragmentSpreadsArePossibleError.new(
|
53
|
-
"Fragment#{name} on #{child_type.
|
53
|
+
"Fragment#{name} on #{child_type.graphql_name} can't be spread inside #{parent_type.graphql_name}",
|
54
54
|
nodes: node,
|
55
55
|
path: path,
|
56
56
|
fragment_name: name.empty? ? "unknown" : name,
|
57
|
-
type: child_type.
|
58
|
-
parent: parent_type.
|
57
|
+
type: child_type.graphql_name,
|
58
|
+
parent: parent_type.graphql_name
|
59
59
|
))
|
60
60
|
end
|
61
61
|
end
|
@@ -55,7 +55,7 @@ module GraphQL
|
|
55
55
|
module FragmentWithTypeStrategy
|
56
56
|
def push(stack, node)
|
57
57
|
object_type = if node.type
|
58
|
-
stack.schema.
|
58
|
+
stack.schema.get_type(node.type.name)
|
59
59
|
else
|
60
60
|
stack.object_types.last
|
61
61
|
end
|
@@ -148,7 +148,7 @@ module GraphQL
|
|
148
148
|
if stack.argument_definitions.last
|
149
149
|
arg_type = stack.argument_definitions.last.type.unwrap
|
150
150
|
if arg_type.kind.input_object?
|
151
|
-
argument_defn = arg_type.
|
151
|
+
argument_defn = arg_type.arguments[node.name]
|
152
152
|
else
|
153
153
|
argument_defn = nil
|
154
154
|
end
|
@@ -23,7 +23,7 @@ module GraphQL
|
|
23
23
|
# @return [Array<Hash>]
|
24
24
|
def validate(query, validate: true)
|
25
25
|
query.trace("validate", { validate: validate, query: query }) do
|
26
|
-
can_skip_rewrite = query.context.interpreter? && query.schema.using_ast_analysis?
|
26
|
+
can_skip_rewrite = query.context.interpreter? && query.schema.using_ast_analysis? && query.schema.is_a?(Class)
|
27
27
|
errors = if validate == false && can_skip_rewrite
|
28
28
|
[]
|
29
29
|
else
|
@@ -18,12 +18,17 @@ module GraphQL
|
|
18
18
|
|
19
19
|
# @see {Subscriptions#initialize} for options, concrete implementations may add options.
|
20
20
|
def self.use(defn, options = {})
|
21
|
-
schema = defn.target
|
22
|
-
|
23
|
-
schema.subscriptions
|
21
|
+
schema = defn.is_a?(Class) ? defn : defn.target
|
22
|
+
|
23
|
+
if schema.subscriptions
|
24
|
+
raise ArgumentError, "Can't reinstall subscriptions. #{schema} is using #{schema.subscriptions}, can't also add #{self}"
|
25
|
+
end
|
26
|
+
|
24
27
|
instrumentation = Subscriptions::Instrumentation.new(schema: schema)
|
25
|
-
defn.instrument(:field, instrumentation)
|
26
28
|
defn.instrument(:query, instrumentation)
|
29
|
+
defn.instrument(:field, instrumentation)
|
30
|
+
options[:schema] = schema
|
31
|
+
schema.subscriptions = self.new(options)
|
27
32
|
nil
|
28
33
|
end
|
29
34
|
|
@@ -124,7 +129,7 @@ module GraphQL
|
|
124
129
|
# @yieldparam subscription_id [String]
|
125
130
|
# @return [void]
|
126
131
|
def each_subscription_id(event)
|
127
|
-
raise
|
132
|
+
raise GraphQL::RequiredImplementationMissingError
|
128
133
|
end
|
129
134
|
|
130
135
|
# The system wants to send an update to this subscription.
|
@@ -132,7 +137,7 @@ module GraphQL
|
|
132
137
|
# @param subscription_id [String]
|
133
138
|
# @return [Hash] Containing required keys
|
134
139
|
def read_subscription(subscription_id)
|
135
|
-
raise
|
140
|
+
raise GraphQL::RequiredImplementationMissingError
|
136
141
|
end
|
137
142
|
|
138
143
|
# A subscription query was re-evaluated, returning `result`.
|
@@ -141,7 +146,7 @@ module GraphQL
|
|
141
146
|
# @param result [Hash]
|
142
147
|
# @return [void]
|
143
148
|
def deliver(subscription_id, result)
|
144
|
-
raise
|
149
|
+
raise GraphQL::RequiredImplementationMissingError
|
145
150
|
end
|
146
151
|
|
147
152
|
# `query` was executed and found subscriptions to `events`.
|
@@ -150,7 +155,7 @@ module GraphQL
|
|
150
155
|
# @param events [Array<GraphQL::Subscriptions::Event>]
|
151
156
|
# @return [void]
|
152
157
|
def write_subscription(query, events)
|
153
|
-
raise
|
158
|
+
raise GraphQL::RequiredImplementationMissingError
|
154
159
|
end
|
155
160
|
|
156
161
|
# A subscription was terminated server-side.
|
@@ -158,7 +163,7 @@ module GraphQL
|
|
158
163
|
# @param subscription_id [String]
|
159
164
|
# @return void.
|
160
165
|
def delete_subscription(subscription_id)
|
161
|
-
raise
|
166
|
+
raise GraphQL::RequiredImplementationMissingError
|
162
167
|
end
|
163
168
|
|
164
169
|
# @return [String] A new unique identifier for a subscription
|
@@ -188,7 +193,11 @@ module GraphQL
|
|
188
193
|
# @return [Any] normalized arguments value
|
189
194
|
def normalize_arguments(event_name, arg_owner, args)
|
190
195
|
case arg_owner
|
191
|
-
when GraphQL::Field, GraphQL::InputObjectType
|
196
|
+
when GraphQL::Field, GraphQL::InputObjectType, GraphQL::Schema::Field, Class
|
197
|
+
if arg_owner.is_a?(Class) && !arg_owner.kind.input_object?
|
198
|
+
# it's a type, but not an input object
|
199
|
+
return args
|
200
|
+
end
|
192
201
|
normalized_args = {}
|
193
202
|
missing_arg_names = []
|
194
203
|
args.each do |k, v|
|
@@ -202,16 +211,32 @@ module GraphQL
|
|
202
211
|
end
|
203
212
|
|
204
213
|
if arg_defn
|
205
|
-
|
214
|
+
if arg_defn.loads
|
215
|
+
normalized_arg_name = arg_defn.keyword.to_s
|
216
|
+
end
|
217
|
+
normalized = normalize_arguments(event_name, arg_defn.type, v)
|
218
|
+
normalized_args[normalized_arg_name] = normalized
|
206
219
|
else
|
207
220
|
# Couldn't find a matching argument definition
|
208
221
|
missing_arg_names << arg_name
|
209
222
|
end
|
210
223
|
end
|
211
224
|
|
225
|
+
# Backfill default values so that trigger arguments
|
226
|
+
# match query arguments.
|
227
|
+
arg_owner.arguments.each do |name, arg_defn|
|
228
|
+
if arg_defn.default_value? && !normalized_args.key?(arg_defn.name)
|
229
|
+
normalized_args[arg_defn.name] = arg_defn.default_value
|
230
|
+
end
|
231
|
+
end
|
232
|
+
|
212
233
|
if missing_arg_names.any?
|
213
234
|
arg_owner_name = if arg_owner.is_a?(GraphQL::Field)
|
214
235
|
"Subscription.#{arg_owner.name}"
|
236
|
+
elsif arg_owner.is_a?(GraphQL::Schema::Field)
|
237
|
+
arg_owner.path
|
238
|
+
elsif arg_owner.is_a?(Class)
|
239
|
+
arg_owner.graphql_name
|
215
240
|
else
|
216
241
|
arg_owner.to_s
|
217
242
|
end
|
@@ -219,9 +244,9 @@ module GraphQL
|
|
219
244
|
end
|
220
245
|
|
221
246
|
normalized_args
|
222
|
-
when GraphQL::ListType
|
247
|
+
when GraphQL::ListType, GraphQL::Schema::List
|
223
248
|
args.map { |a| normalize_arguments(event_name, arg_owner.of_type, a) }
|
224
|
-
when GraphQL::NonNullType
|
249
|
+
when GraphQL::NonNullType, GraphQL::Schema::NonNull
|
225
250
|
normalize_arguments(event_name, arg_owner.of_type, args)
|
226
251
|
else
|
227
252
|
args
|
@@ -37,7 +37,7 @@ module GraphQL
|
|
37
37
|
arguments
|
38
38
|
when Hash
|
39
39
|
if field.is_a?(GraphQL::Schema::Field)
|
40
|
-
stringify_args(arguments)
|
40
|
+
stringify_args(field, arguments)
|
41
41
|
else
|
42
42
|
GraphQL::Query::LiteralInput.from_arguments(
|
43
43
|
arguments,
|
@@ -49,27 +49,44 @@ module GraphQL
|
|
49
49
|
raise ArgumentError, "Unexpected arguments: #{arguments}, must be Hash or GraphQL::Arguments"
|
50
50
|
end
|
51
51
|
|
52
|
-
sorted_h = normalized_args.to_h
|
52
|
+
sorted_h = stringify_args(field, normalized_args.to_h)
|
53
53
|
Serialize.dump_recursive([scope, name, sorted_h])
|
54
54
|
end
|
55
55
|
|
56
56
|
class << self
|
57
57
|
private
|
58
|
-
def stringify_args(args)
|
58
|
+
def stringify_args(arg_owner, args)
|
59
59
|
case args
|
60
60
|
when Hash
|
61
61
|
next_args = {}
|
62
62
|
args.each do |k, v|
|
63
|
-
|
64
|
-
|
63
|
+
arg_name = k.to_s
|
64
|
+
camelized_arg_name = GraphQL::Schema::Member::BuildType.camelize(arg_name)
|
65
|
+
arg_defn = get_arg_definition(arg_owner, camelized_arg_name)
|
66
|
+
|
67
|
+
if arg_defn
|
68
|
+
normalized_arg_name = camelized_arg_name
|
69
|
+
else
|
70
|
+
normalized_arg_name = arg_name
|
71
|
+
arg_defn = get_arg_definition(arg_owner, normalized_arg_name)
|
72
|
+
end
|
73
|
+
|
74
|
+
next_args[normalized_arg_name] = stringify_args(arg_defn.type, v)
|
65
75
|
end
|
66
|
-
|
76
|
+
# Make sure they're deeply sorted
|
77
|
+
next_args.sort.to_h
|
67
78
|
when Array
|
68
|
-
args.map { |a| stringify_args(a) }
|
79
|
+
args.map { |a| stringify_args(arg_owner, a) }
|
80
|
+
when GraphQL::Schema::InputObject
|
81
|
+
stringify_args(arg_owner, args.to_h)
|
69
82
|
else
|
70
83
|
args
|
71
84
|
end
|
72
85
|
end
|
86
|
+
|
87
|
+
def get_arg_definition(arg_owner, arg_name)
|
88
|
+
arg_owner.arguments[arg_name] || arg_owner.arguments.each_value.find { |v| v.keyword.to_s == arg_name }
|
89
|
+
end
|
73
90
|
end
|
74
91
|
end
|
75
92
|
end
|
@@ -11,7 +11,7 @@ module GraphQL
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def instrument(type, field)
|
14
|
-
if type == @schema.subscription
|
14
|
+
if type == @schema.subscription.graphql_definition
|
15
15
|
# This is a root field of `subscription`
|
16
16
|
subscribing_resolve_proc = SubscriptionRegistrationResolve.new(field.resolve_proc)
|
17
17
|
field.redefine(resolve: subscribing_resolve_proc)
|
@@ -8,19 +8,19 @@ module GraphQL
|
|
8
8
|
module ActiveSupportNotificationsTracing
|
9
9
|
# A cache of frequently-used keys to avoid needless string allocations
|
10
10
|
KEYS = {
|
11
|
-
"lex" => "graphql
|
12
|
-
"parse" => "graphql
|
13
|
-
"validate" => "graphql
|
14
|
-
"analyze_multiplex" => "graphql
|
15
|
-
"analyze_query" => "graphql
|
16
|
-
"execute_query" => "graphql
|
17
|
-
"execute_query_lazy" => "graphql
|
18
|
-
"execute_field" => "graphql
|
19
|
-
"execute_field_lazy" => "graphql
|
11
|
+
"lex" => "lex.graphql",
|
12
|
+
"parse" => "parse.graphql",
|
13
|
+
"validate" => "validate.graphql",
|
14
|
+
"analyze_multiplex" => "analyze_multiplex.graphql",
|
15
|
+
"analyze_query" => "analyze_query.graphql",
|
16
|
+
"execute_query" => "execute_query.graphql",
|
17
|
+
"execute_query_lazy" => "execute_query_lazy.graphql",
|
18
|
+
"execute_field" => "execute_field.graphql",
|
19
|
+
"execute_field_lazy" => "execute_field_lazy.graphql",
|
20
20
|
}
|
21
21
|
|
22
22
|
def self.trace(key, metadata)
|
23
|
-
prefixed_key = KEYS[key] || "
|
23
|
+
prefixed_key = KEYS[key] || "#{key}.graphql"
|
24
24
|
ActiveSupport::Notifications.instrument(prefixed_key, metadata) do
|
25
25
|
yield
|
26
26
|
end
|
@@ -39,8 +39,7 @@ module GraphQL
|
|
39
39
|
end
|
40
40
|
|
41
41
|
return_type = field.type.unwrap
|
42
|
-
|
43
|
-
trace_field = if return_type.respond_to?(:kind) && (return_type.kind.scalar? || return_type.kind.enum?)
|
42
|
+
trace_field = if return_type.kind.scalar? || return_type.kind.enum?
|
44
43
|
(field.trace.nil? && @trace_scalars) || field.trace
|
45
44
|
else
|
46
45
|
true
|
@@ -18,6 +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, please enable Skylight's GraphQL probe instead: https://www.skylight.io/support/getting-more-from-skylight#graphql.")
|
21
22
|
@set_endpoint_name = options.fetch(:set_endpoint_name, false)
|
22
23
|
super
|
23
24
|
end
|
@@ -24,8 +24,8 @@ module GraphQL
|
|
24
24
|
@parent_type = parent_type
|
25
25
|
@resolved_type = resolved_type
|
26
26
|
@possible_types = possible_types
|
27
|
-
message = "The value from \"#{field.
|
28
|
-
"(Received: `#{resolved_type.inspect}`, Expected: [#{possible_types.map(&:
|
27
|
+
message = "The value from \"#{field.graphql_name}\" on \"#{parent_type.graphql_name}\" could not be resolved to \"#{field.type.to_type_signature}\". " \
|
28
|
+
"(Received: `#{resolved_type.inspect}`, Expected: [#{possible_types.map(&:graphql_name).join(", ")}]) " \
|
29
29
|
"Make sure you have defined a `resolve_type` proc on your schema and that value `#{value.inspect}` " \
|
30
30
|
"gets resolved to a valid type. You may need to add your type to `orphan_types` if it implements an " \
|
31
31
|
"interface but isn't a return type of any other field."
|
@@ -13,7 +13,7 @@ module GraphQL
|
|
13
13
|
# @param input_text [String] Untransformed GraphQL-Ruby code
|
14
14
|
# @return [String] The input text, with a transformation applied if necessary
|
15
15
|
def apply(input_text)
|
16
|
-
raise
|
16
|
+
raise GraphQL::RequiredImplementationMissingError, "Return transformed text here"
|
17
17
|
end
|
18
18
|
|
19
19
|
# Recursively transform a `.define`-DSL-based type expression into a class-ready expression, for example:
|
data/lib/graphql/version.rb
CHANGED
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.0.
|
4
|
+
version: 1.10.0.pre2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Mosolgo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: benchmark-ips
|
@@ -340,6 +340,7 @@ files:
|
|
340
340
|
- lib/generators/graphql/templates/base_field.erb
|
341
341
|
- lib/generators/graphql/templates/base_input_object.erb
|
342
342
|
- lib/generators/graphql/templates/base_interface.erb
|
343
|
+
- lib/generators/graphql/templates/base_mutation.erb
|
343
344
|
- lib/generators/graphql/templates/base_object.erb
|
344
345
|
- lib/generators/graphql/templates/base_scalar.erb
|
345
346
|
- lib/generators/graphql/templates/base_union.erb
|
@@ -546,6 +547,7 @@ files:
|
|
546
547
|
- lib/graphql/schema/default_parse_error.rb
|
547
548
|
- lib/graphql/schema/default_type_error.rb
|
548
549
|
- lib/graphql/schema/directive.rb
|
550
|
+
- lib/graphql/schema/directive/deprecated.rb
|
549
551
|
- lib/graphql/schema/directive/feature.rb
|
550
552
|
- lib/graphql/schema/directive/include.rb
|
551
553
|
- lib/graphql/schema/directive/skip.rb
|
@@ -579,6 +581,7 @@ files:
|
|
579
581
|
- lib/graphql/schema/member/relay_shortcuts.rb
|
580
582
|
- lib/graphql/schema/member/scoped.rb
|
581
583
|
- lib/graphql/schema/member/type_system_helpers.rb
|
584
|
+
- lib/graphql/schema/member/validates_input.rb
|
582
585
|
- lib/graphql/schema/middleware_chain.rb
|
583
586
|
- lib/graphql/schema/mutation.rb
|
584
587
|
- lib/graphql/schema/non_null.rb
|