class GraphQL::Types::Relay::BaseConnection
Use this to implement Relay connections, or take it as inspiration for Relay classes in your own app.
You may wish to copy this code into your own base class, so you can extend your own `BaseObject` instead of `GraphQL::Schema::Object`.
@example Implementation a connection and edge
# Given some object in your app ... class Types::Post < BaseObject end # Make a couple of base classes: class Types::BaseEdge < GraphQL::Types::Relay::BaseEdge; end class Types::BaseConnection < GraphQL::Types::Relay::BaseConnection; end # Then extend them for the object in your app class Types::PostEdge < Types::BaseEdge node_type(Types::Post) end class Types::PostConnection < Types::BaseConnection edge_type(Types::PostEdge) end
@see Relay::BaseEdge for edge types
Attributes
edge_type[R]
@return [Class]
node_type[R]
@return [Class]
Public Class Methods
nodes_field()
click to toggle source
Add the shortcut `nodes` field to this connection and its subclasses
# File lib/graphql/types/relay/base_connection.rb, line 71 def nodes_field field :nodes, [@node_type, null: true], null: true end
Public Instance Methods
nodes()
click to toggle source
By default this calls through to the ConnectionWrapper's edge nodes method, but sometimes you need to override it to support the `nodes` field
# File lib/graphql/types/relay/base_connection.rb, line 80 def nodes @object.edge_nodes end