Module: GraphQL::Schema::ResolveTypeWithType
- Defined in:
- lib/graphql/schema.rb
Overview
rubocop:disable Lint/DuplicateMethods
Instance Method Summary collapse
Instance Method Details
#resolve_type(type, obj, ctx) ⇒ Object
1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 |
# File 'lib/graphql/schema.rb', line 1392 def resolve_type(type, obj, ctx) first_resolved_type, resolved_value = if type.is_a?(Module) && type.respond_to?(:resolve_type) type.resolve_type(obj, ctx) else super end after_lazy(first_resolved_type) do |resolved_type| if resolved_type.nil? || (resolved_type.is_a?(Module) && resolved_type.respond_to?(:kind)) || resolved_type.is_a?(GraphQL::BaseType) if resolved_value [resolved_type, resolved_value] else resolved_type end else raise ".resolve_type should return a type definition, but got #{resolved_type.inspect} (#{resolved_type.class}) from `resolve_type(#{type}, #{obj}, #{ctx})`" end end end |