class GraphQL::Schema::Union
Public Class Methods
Source
# File lib/graphql/schema/union.rb, line 32 def all_possible_types type_memberships.map(&:object_type) end
Source
# File lib/graphql/schema/union.rb, line 9 def inherited(child_class) add_unresolved_type_error(child_class) super end
Calls superclass method
# File lib/graphql/schema/union.rb, line 14 def possible_types(*types, context: GraphQL::Query::NullContext.instance, **options) if !types.empty? types.each do |t| assert_valid_union_member(t) type_memberships << type_membership_class.new(self, t, **options) end else visible_types = [] warden = Warden.from_context(context) type_memberships.each do |type_membership| if warden.visible_type_membership?(type_membership, context) visible_types << type_membership.object_type end end visible_types end end
# File lib/graphql/schema/union.rb, line 36 def type_membership_class(membership_class = nil) if membership_class @type_membership_class = membership_class else @type_membership_class || find_inherited_value(:type_membership_class, GraphQL::Schema::TypeMembership) end end
Source
# File lib/graphql/schema/union.rb, line 48 def type_memberships @type_memberships ||= [] end