Module: GraphQL::Relay::EdgeType

Defined in:
lib/graphql/relay/edge_type.rb

Class Method Summary collapse

Class Method Details

.create_type(wrapped_type, name: nil, &block) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/graphql/relay/edge_type.rb', line 6

def self.create_type(wrapped_type, name: nil, &block)
  GraphQL::ObjectType.define do
    type_name = wrapped_type.is_a?(GraphQL::BaseType) ? wrapped_type.name : wrapped_type.graphql_name
    name("#{type_name}Edge")
    description "An edge in a connection."
    field :node, wrapped_type, "The item at the end of the edge."
    field :cursor, !types.String, "A cursor for use in pagination."
    relay_node_type(wrapped_type)
    block && instance_eval(&block)
  end
end