Module: GraphQL::Relay::TypeExtensions

Included in:
BaseType, Schema::Interface::DefinitionMethods, Schema::Member
Defined in:
lib/graphql/relay/type_extensions.rb

Overview

Mixin for Relay-related methods in type objects (used by BaseType and Schema::Member).

Instance Method Summary collapse

Instance Method Details

#connection_typeGraphQL::ObjectType

Returns The default connection type for this object type.

Returns:



8
9
10
# File 'lib/graphql/relay/type_extensions.rb', line 8

def connection_type
  @connection_type ||= define_connection
end

#define_connection(**kwargs, &block) ⇒ GraphQL::ObjectType

Define a custom connection type for this object type

Returns:



14
15
16
# File 'lib/graphql/relay/type_extensions.rb', line 14

def define_connection(**kwargs, &block)
  GraphQL::Relay::ConnectionType.create_type(self, **kwargs, &block)
end

#define_edge(**kwargs, &block) ⇒ GraphQL::ObjectType

Define a custom edge type for this object type

Returns:



25
26
27
# File 'lib/graphql/relay/type_extensions.rb', line 25

def define_edge(**kwargs, &block)
  GraphQL::Relay::EdgeType.create_type(self, **kwargs, &block)
end

#edge_typeGraphQL::ObjectType

Returns The default edge type for this object type.

Returns:



19
20
21
# File 'lib/graphql/relay/type_extensions.rb', line 19

def edge_type
  @edge_type ||= define_edge
end