class GraphQL::Language::UnionTypeDefinition

Defined in:

graphql-crystal/language/nodes.cr
graphql-crystal/schema/schema_introspection.cr

Constant Summary

GRAPHQL_FIELDS = [{:__typename, "", args, ""}, {:kind, "", args, ""}, {:possibleTypes, "", args, ""}] of Tuple(Symbol, String, Hash(String, String) | ::Nil, String)
VALUES = [{types, Array(TypeName)}, {directives, Array(Directive)}] of Tuple(Symbol, Object.class)
VISITS = [{:children, [:types, :directives]}] of Tuple(Symbol, Array(Symbol))

Constructors

Class Method Summary

Instance Method Summary

Macro Summary

Instance methods inherited from class GraphQL::Language::TypeDefinition

==(other : GraphQL::Language::TypeDefinition) ==, clone clone, description : ::Union(String, Nil) description, description=(description : ::Union(String, Nil)) description=, name : String name, name=(name : String) name=, resolve_field(name : String, arguments, context : GraphQL::Schema::Context) resolve_field, values values, visit(name, visited_ids = [] of UInt64, block = Proc(ASTNode, ASTNode | ::Nil).new do end) visit

Constructor methods inherited from class GraphQL::Language::TypeDefinition

new(name, description, **rest) new

Class methods inherited from class GraphQL::Language::TypeDefinition

values values

Instance methods inherited from class GraphQL::Language::AbstractNode

==(other : GraphQL::Language::AbstractNode) ==, clone clone, resolve_field(name : String, arguments, context : GraphQL::Schema::Context) resolve_field, values values, visit(name, visited_ids = [] of UInt64, block = Proc(ASTNode, ASTNode | ::Nil).new do end) visit

Constructor methods inherited from class GraphQL::Language::AbstractNode

new(**rest) new

Class methods inherited from class GraphQL::Language::AbstractNode

values values

Instance methods inherited from module GraphQL::ObjectType

graphql_type graphql_type, resolve_field(name, arguments, context) resolve_field

Instance methods inherited from class GraphQL::Language::ASTNode

==(other) ==, clone clone, values values

Class methods inherited from class GraphQL::Language::ASTNode

values values

Instance methods inherited from class Object

debug debug

Constructor Detail

def self.new(types, directives, **rest) #

Class Method Detail

def self.values #

Instance Method Detail


def clone #

Returns a copy of self with all instance variables cloned.


def directives : Array(Directive) #

def directives=(directives : Array(Directive)) #

def map_children(&block : ASTNode -> UNDERSCORE) #

def resolve_field(name : String, arguments, context : GraphQL::Schema::Context) #

resolve a named field on this object with query arguments and context


def types : Array(TypeName) #

def types=(types : Array(TypeName)) #

def values #

def visit(name, visited_ids = [] of UInt64, block = Proc(ASTNode, ASTNode | ::Nil).new do end) #

Recursively apply the given block to each node that gets visited with the given key which nodes get traverses for a given key can be set on a class via the: traverse :name, :child_1, :child2 macro. If no children are defined for a given traversal path name the block is invoked only with self.


Macro Detail

macro accessors(name, type, default) #

macro field(name, &block) #

macro field(name, description, args, typename, &block) #

macro inject #

macro injection #

macro traverse(name, *values) #

macro values(args) #