graphql 2.0.3 → 2.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/graphql/schema/field.rb +15 -13
- data/lib/graphql/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 823ea48d61ed1b30e6ad87a6817f80206b9c5d8865f6350cbd142c9798162e37
|
4
|
+
data.tar.gz: 8e5f383cfe80418109b0f424d06ab7a78c72255d167f21f32b6c8f6bcef10610
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 95e9de185715e1b2a752ecaefdd75e8b4daad8afd4125429d58627972805d759c3a842a58bec29b0b5ee1aba5e1d06a6cb1aed9bd1881653d710f71fe4edfdc7
|
7
|
+
data.tar.gz: 99ff2f59d77ee74ba4c1af7fcf097afb5415b6d18a95c1a2527413d6f782f8fa6238aafa96430d2d7332f1177e64b70e5aa2eac1557d042ede9eb4a33466b8b5
|
data/lib/graphql/schema/field.rb
CHANGED
@@ -187,7 +187,7 @@ module GraphQL
|
|
187
187
|
# @param name [Symbol] The underscore-cased version of this field name (will be camelized for the GraphQL API)
|
188
188
|
# @param type [Class, GraphQL::BaseType, Array] The return type of this field
|
189
189
|
# @param owner [Class] The type that this field belongs to
|
190
|
-
# @param null [Boolean] `true` if this field may return `null`, `false` if it is never `null`
|
190
|
+
# @param null [Boolean] (defaults to `true`) `true` if this field may return `null`, `false` if it is never `null`
|
191
191
|
# @param description [String] Field description
|
192
192
|
# @param deprecation_reason [String] If present, the field is marked "deprecated" with this message
|
193
193
|
# @param method [Symbol] The method to call on the underlying object to resolve this field (defaults to `name`)
|
@@ -211,7 +211,7 @@ module GraphQL
|
|
211
211
|
# @param ast_node [Language::Nodes::FieldDefinition, nil] If this schema was parsed from definition, this AST node defined the field
|
212
212
|
# @param method_conflict_warning [Boolean] If false, skip the warning if this field's method conflicts with a built-in method
|
213
213
|
# @param validates [Array<Hash>] Configurations for validating this field
|
214
|
-
def initialize(type: nil, name: nil, owner: nil, null:
|
214
|
+
def initialize(type: nil, name: nil, owner: nil, null: nil, description: :not_given, deprecation_reason: nil, method: nil, hash_key: nil, dig: nil, resolver_method: nil, connection: nil, max_page_size: :not_given, scope: nil, introspection: false, camelize: true, trace: nil, complexity: nil, ast_node: nil, extras: EMPTY_ARRAY, extensions: EMPTY_ARRAY, connection_extension: self.class.connection_extension, resolver_class: nil, subscription_scope: nil, relay_node_field: false, relay_nodes_field: false, method_conflict_warning: true, broadcastable: nil, arguments: EMPTY_HASH, directives: EMPTY_HASH, validates: EMPTY_ARRAY, &definition_block)
|
215
215
|
if name.nil?
|
216
216
|
raise ArgumentError, "missing first `name` argument or keyword `name:`"
|
217
217
|
end
|
@@ -253,7 +253,13 @@ module GraphQL
|
|
253
253
|
@resolver_method = resolver_method
|
254
254
|
@complexity = complexity
|
255
255
|
@return_type_expr = type
|
256
|
-
@return_type_null = null
|
256
|
+
@return_type_null = if !null.nil?
|
257
|
+
null
|
258
|
+
elsif resolver_class
|
259
|
+
nil
|
260
|
+
else
|
261
|
+
true
|
262
|
+
end
|
257
263
|
@connection = connection
|
258
264
|
@has_max_page_size = max_page_size != :not_given
|
259
265
|
@max_page_size = max_page_size == :not_given ? nil : max_page_size
|
@@ -530,17 +536,13 @@ module GraphQL
|
|
530
536
|
attr_writer :type
|
531
537
|
|
532
538
|
def type
|
533
|
-
if @
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
# Not enough info to determine type
|
538
|
-
message = "Can't determine the return type for #{self.path}"
|
539
|
-
if @resolver_class
|
540
|
-
message += " (it has `resolver: #{@resolver_class}`, perhaps that class is missing a `type ...` declaration, or perhaps its type causes a cyclical loading issue)"
|
541
|
-
end
|
542
|
-
raise MissingReturnTypeError, message
|
539
|
+
if @resolver_class
|
540
|
+
return_type = @return_type_expr || @resolver_class.type_expr
|
541
|
+
if return_type.nil?
|
542
|
+
raise MissingReturnTypeError, "Can't determine the return type for #{self.path} (it has `resolver: #{@resolver_class}`, perhaps that class is missing a `type ...` declaration, or perhaps its type causes a cyclical loading issue)"
|
543
543
|
end
|
544
|
+
nullable = @return_type_null.nil? ? @resolver_class.null : @return_type_null
|
545
|
+
Member::BuildType.parse_type(return_type, null: nullable)
|
544
546
|
else
|
545
547
|
@type ||= Member::BuildType.parse_type(@return_type_expr, null: @return_type_null)
|
546
548
|
end
|
data/lib/graphql/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: graphql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Mosolgo
|
@@ -596,7 +596,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
596
596
|
- !ruby/object:Gem::Version
|
597
597
|
version: '0'
|
598
598
|
requirements: []
|
599
|
-
rubygems_version: 3.
|
599
|
+
rubygems_version: 3.2.32
|
600
600
|
signing_key:
|
601
601
|
specification_version: 4
|
602
602
|
summary: A GraphQL language and runtime for Ruby
|