Class: GraphQL::Types::Relay::BaseEdge
- Inherits:
-
BaseObject
- Object
- Schema::Member
- Schema::Object
- BaseObject
- GraphQL::Types::Relay::BaseEdge
- Defined in:
- lib/graphql/types/relay/base_edge.rb
Overview
A class-based definition for Relay edges.
Use this as a parent class in your app, or use it as inspiration for your
own base Edge
class.
For example, you may want to extend your own BaseObject
instead of the
built-in GraphQL::Schema::Object
.
Constant Summary
Constants included from Schema::Member::GraphQLTypeNames
Schema::Member::GraphQLTypeNames::Boolean, Schema::Member::GraphQLTypeNames::ID, Schema::Member::GraphQLTypeNames::Int
Instance Attribute Summary
Attributes inherited from Schema::Object
Class Method Summary collapse
- .accessible?(ctx) ⇒ Boolean
- .authorized?(obj, ctx) ⇒ Boolean
-
.node_type(node_type = nil) ⇒ Object
Get or set the Object type that this edge wraps.
- .visible?(ctx) ⇒ Boolean
Methods inherited from BaseObject
default_relay, default_relay?, to_graphql
Methods inherited from Schema::Object
authorized_new, fields, implements, #initialize, interfaces, kind, own_interfaces, to_graphql
Methods included from Schema::Member::HasFields
add_default_resolve_module, #add_field, extended, #field, #field_class, #fields, #global_id_field, #included, #inherited, #own_fields
Methods included from Schema::Member::CachedGraphQLDefinition
#graphql_definition, #initialize_copy
Methods included from Relay::TypeExtensions
#connection_type, #define_connection, #define_edge, #edge_type
Methods included from Schema::Member::BaseDSLMethods
#accessible?, #authorized?, #default_graphql_name, #description, #graphql_name, #introspection, #mutation, #name, #overridden_graphql_name, #to_graphql, #visible?
Methods included from Schema::Member::TypeSystemHelpers
#kind, #list?, #non_null?, #to_list_type, #to_non_null_type, #to_type_signature
Methods included from Schema::Member::Scoped
Methods included from Schema::Member::RelayShortcuts
#connection_type, #connection_type_class, #edge_type, #edge_type_class
Methods included from Schema::Member::HasPath
Constructor Details
This class inherits a constructor from GraphQL::Schema::Object
Class Method Details
.accessible?(ctx) ⇒ Boolean
47 48 49 |
# File 'lib/graphql/types/relay/base_edge.rb', line 47 def accessible?(ctx) node_type.accessible?(ctx) end |
.authorized?(obj, ctx) ⇒ Boolean
43 44 45 |
# File 'lib/graphql/types/relay/base_edge.rb', line 43 def (obj, ctx) true end |
.node_type(node_type = nil) ⇒ Object
Get or set the Object type that this edge wraps.
31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/graphql/types/relay/base_edge.rb', line 31 def node_type(node_type = nil) if node_type @node_type = node_type wrapped_type_name = node_type.graphql_name # Set this to be named like the node type, but suffixed with `Edge` graphql_name("#{wrapped_type_name}Edge") # Add a default `node` field field :node, node_type, null: true, description: "The item at the end of the edge." end @node_type end |
.visible?(ctx) ⇒ Boolean
51 52 53 |
# File 'lib/graphql/types/relay/base_edge.rb', line 51 def visible?(ctx) node_type.visible?(ctx) end |