graphql 1.12.13 → 1.12.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/graphql/backtrace/tracer.rb +6 -3
- data/lib/graphql/cop/nullability.rb +28 -0
- data/lib/graphql/cop/resolve_methods.rb +28 -0
- data/lib/graphql/query.rb +1 -1
- data/lib/graphql/schema.rb +8 -0
- data/lib/graphql/schema/build_from_definition.rb +8 -2
- data/lib/graphql/schema/member/build_type.rb +1 -0
- data/lib/graphql/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 74f73ae15eae0c31b63558b5d038091006422534ebee13cafe25b0fe07d1349a
|
4
|
+
data.tar.gz: c6f454d12ae887420e98f4e0563d74d7bedfa350d6b6dcd66beedd43e9cd5f5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 333b8424cc0c6cf3caccf68b27a66bd555311255a83fd336b8ccd569edf6ab4020bb3459b7ce1c0ab26542f003cd12e7c3d312d8ea45c6c2d52fe81a94471536
|
7
|
+
data.tar.gz: e31d1e33bd7da992d866749f53fe05e417ac27ee6488d0bd7d5cf0e7316e57c6bec6154f496e09eb87eb830b8540eb1ecebde1384f50d7deb41244fdc07dc5b9
|
@@ -15,10 +15,13 @@ module GraphQL
|
|
15
15
|
# No query context yet
|
16
16
|
nil
|
17
17
|
when "validate", "analyze_query", "execute_query", "execute_query_lazy"
|
18
|
-
query = metadata[:query] || metadata[:queries].first
|
19
18
|
push_key = []
|
20
|
-
|
21
|
-
|
19
|
+
if (query = metadata[:query]) || ((queries = metadata[:queries]) && (query = queries.first))
|
20
|
+
push_data = query
|
21
|
+
multiplex = query.multiplex
|
22
|
+
elsif (multiplex = metadata[:multiplex])
|
23
|
+
push_data = multiplex.queries.first
|
24
|
+
end
|
22
25
|
when "execute_field", "execute_field_lazy"
|
23
26
|
query = metadata[:query] || raise(ArgumentError, "Add `legacy: true` to use GraphQL::Backtrace without the interpreter runtime.")
|
24
27
|
multiplex = query.multiplex
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "rubocop"
|
2
|
+
|
3
|
+
module GraphQL
|
4
|
+
module Cop
|
5
|
+
class Nullability < RuboCop::Cop::Base
|
6
|
+
extend AutoCorrector
|
7
|
+
|
8
|
+
NEEDLESS_NULL_FALSE = <<-ERR
|
9
|
+
`null: false` is the default, it can be removed.
|
10
|
+
ERR
|
11
|
+
|
12
|
+
NEEDLESS_REQUIRED_TRUE = <<-ERR
|
13
|
+
`required: true` is the default, it can be removed.
|
14
|
+
ERR
|
15
|
+
|
16
|
+
def on_send(node)
|
17
|
+
recv, method_name, args = *node
|
18
|
+
if recv.nil?
|
19
|
+
if method_name == :field
|
20
|
+
|
21
|
+
elsif method_name == :argument
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require "rubocop"
|
2
|
+
|
3
|
+
module GraphQL
|
4
|
+
module Cop
|
5
|
+
class ResolveMethods < RuboCop::Cop::Base
|
6
|
+
extend AutoCorrector
|
7
|
+
|
8
|
+
NEEDLESS_NULL_FALSE = <<-ERR
|
9
|
+
`null: false` is the default, it can be removed.
|
10
|
+
ERR
|
11
|
+
|
12
|
+
NEEDLESS_REQUIRED_TRUE = <<-ERR
|
13
|
+
`required: true` is the default, it can be removed.
|
14
|
+
ERR
|
15
|
+
|
16
|
+
def on_send(node)
|
17
|
+
recv, method_name, args = *node
|
18
|
+
if recv.nil?
|
19
|
+
if method_name == :field
|
20
|
+
|
21
|
+
elsif method_name == :argument
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/graphql/query.rb
CHANGED
@@ -270,7 +270,7 @@ module GraphQL
|
|
270
270
|
# @return [String, nil] Returns nil if the query is invalid.
|
271
271
|
def sanitized_query_string(inline_variables: true)
|
272
272
|
with_prepared_ast {
|
273
|
-
|
273
|
+
schema.sanitized_printer.new(self, inline_variables: inline_variables).sanitized_query_string
|
274
274
|
}
|
275
275
|
end
|
276
276
|
|
data/lib/graphql/schema.rb
CHANGED
@@ -1631,6 +1631,14 @@ module GraphQL
|
|
1631
1631
|
find_inherited_value(:multiplex_analyzers, EMPTY_ARRAY) + own_multiplex_analyzers
|
1632
1632
|
end
|
1633
1633
|
|
1634
|
+
def sanitized_printer(new_sanitized_printer = nil)
|
1635
|
+
if new_sanitized_printer
|
1636
|
+
@own_sanitized_printer = new_sanitized_printer
|
1637
|
+
else
|
1638
|
+
@own_sanitized_printer || GraphQL::Language::SanitizedPrinter
|
1639
|
+
end
|
1640
|
+
end
|
1641
|
+
|
1634
1642
|
# Execute a query on itself.
|
1635
1643
|
# @see {Query#initialize} for arguments.
|
1636
1644
|
# @return [Hash] query result, ready to be serialized as JSON
|
@@ -47,10 +47,16 @@ module GraphQL
|
|
47
47
|
# _while_ building the schema.
|
48
48
|
# It will dig for a type if it encounters a custom type. This could be a problem if there are cycles.
|
49
49
|
directive_type_resolver = nil
|
50
|
-
directive_type_resolver = build_resolve_type(
|
50
|
+
directive_type_resolver = build_resolve_type(types, directives, ->(type_name) {
|
51
51
|
types[type_name] ||= begin
|
52
52
|
defn = document.definitions.find { |d| d.respond_to?(:name) && d.name == type_name }
|
53
|
-
|
53
|
+
if defn
|
54
|
+
build_definition_from_node(defn, directive_type_resolver, default_resolve)
|
55
|
+
elsif (built_in_defn = GraphQL::Schema::BUILT_IN_TYPES[type_name])
|
56
|
+
built_in_defn
|
57
|
+
else
|
58
|
+
raise "No definition for #{type_name.inspect} found in schema document or built-in types. Add a definition for it or remove it."
|
59
|
+
end
|
54
60
|
end
|
55
61
|
})
|
56
62
|
|
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.12.
|
4
|
+
version: 1.12.14
|
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-
|
11
|
+
date: 2021-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: benchmark-ips
|
@@ -318,6 +318,8 @@ files:
|
|
318
318
|
- lib/graphql/compatibility/query_parser_specification/parse_error_specification.rb
|
319
319
|
- lib/graphql/compatibility/query_parser_specification/query_assertions.rb
|
320
320
|
- lib/graphql/compatibility/schema_parser_specification.rb
|
321
|
+
- lib/graphql/cop/nullability.rb
|
322
|
+
- lib/graphql/cop/resolve_methods.rb
|
321
323
|
- lib/graphql/dataloader.rb
|
322
324
|
- lib/graphql/dataloader/null_dataloader.rb
|
323
325
|
- lib/graphql/dataloader/request.rb
|