class GraphQL::UnionType
}
}
… on Video { name, length, quality }
… on Image { name, height, width }
… on Audio { name, duration }
searchMedia(name: “Jens Lekman”) {
{
@example Querying for fields on union members
So, when you query, you must use fragment spreads to access fields.
A union itself has no fields; only its members have fields.
end
possible_types [AudioType, ImageType, VideoType]
description “Media objects which you can enjoy”
name “Media”
MediaUnion = GraphQL::UnionType.define do
@example A union of object types
The members of a union are declared with ‘possible_types`.
A Union is is a collection of object types which may appear in the same place.
def include?(child_type_defn)
def include?(child_type_defn) possible_types.include?(child_type_defn) end
def kind
def kind GraphQL::TypeKinds::UNION end
def possible_types
def possible_types @clean_possible_types ||= begin ensure_defined @dirty_possible_types.map { |type| GraphQL::BaseType.resolve_related_type(type) } rescue @dirty_possible_types end end
def possible_types=(new_possible_types)
def possible_types=(new_possible_types) @clean_possible_types = nil @dirty_possible_types = new_possible_types end