lib/graphql/schema/build_from_definition.rb in graphql-1.6.7 vs lib/graphql/schema/build_from_definition.rb in graphql-1.6.8

- old
+ new

@@ -278,10 +278,13 @@ type: type_resolver.call(field_definition.type), arguments: field_arguments, resolve: ->(obj, args, ctx) { default_resolve.call(field, obj, args, ctx) }, deprecation_reason: build_deprecation_reason(field_definition.directives), ) + + type_name = resolve_type_name(field_definition.type) + field.connection = type_name.end_with?("Connection") [field_definition.name, field] end end def resolve_type(types, ast_node) @@ -291,9 +294,18 @@ ast_node = ast_node.of_type end raise InvalidDocumentError.new("Type \"#{ast_node.name}\" not found in document.") end type + end + + def resolve_type_name(type) + case type + when GraphQL::Language::Nodes::TypeName + return type.name + else + resolve_type_name(type.of_type) + end end end private_constant :Builder end