module GraphQL::BaseType::HasPossibleTypes

def legacy_resolve_type(object, ctx)

Otherwise call `schema.resolve_type` (the proper behavior)
If a (deprecated) `resolve_type` function was provided, call that and warn.
def legacy_resolve_type(object, ctx)
  if @resolve_type_proc
    resolve_type(object, ctx)
  else
    ctx.schema.resolve_type(object, ctx)
  end
end

def resolve_type(object, ctx)

Returns:
  • (GraphQL::ObjectType) - the type which should expose `object`

Parameters:
  • ctx (GraphQL::Query::Context) --
  • object (Object) -- the object which needs a type to expose it
def resolve_type(object, ctx)
  ensure_defined
  warn_resolve_type_deprecated
  instance_exec(object, ctx, &(@resolve_type_proc || DEFAULT_RESOLVE_TYPE))
end

def resolve_type=(new_proc)

def resolve_type=(new_proc)
  warn_resolve_type_deprecated
  @resolve_type_proc = new_proc || DEFAULT_RESOLVE_TYPE
end

def warn_resolve_type_deprecated

def warn_resolve_type_deprecated
  warn("#{self.name}.resolve_type is deprecated; define Schema.resolve_type instead")
end