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, null: true) ⇒ 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_field, #field, #field_class, #fields, #get_field, #global_id_field, #own_fields
Methods included from Schema::Member::HasPath
Methods included from Schema::Member::RelayShortcuts
#connection_type, #connection_type_class, #edge_type, #edge_type_class
Methods included from Schema::Member::Scoped
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::BaseDSLMethods
#accessible?, #authorized?, #default_graphql_name, #description, #graphql_name, #introspection, #introspection?, #mutation, #name, #overridden_graphql_name, #to_graphql, #visible?
Methods included from Relay::TypeExtensions
#connection_type, #define_connection, #define_edge, #edge_type
Methods included from Schema::Member::CachedGraphQLDefinition
#graphql_definition, #initialize_copy
Constructor Details
This class inherits a constructor from GraphQL::Schema::Object
Class Method Details
.accessible?(ctx) ⇒ Boolean
45 46 47 |
# File 'lib/graphql/types/relay/base_edge.rb', line 45 def accessible?(ctx) node_type.accessible?(ctx) end |
.authorized?(obj, ctx) ⇒ Boolean
41 42 43 |
# File 'lib/graphql/types/relay/base_edge.rb', line 41 def (obj, ctx) true end |
.node_type(node_type = nil, null: true) ⇒ Object
Get or set the Object type that this edge wraps.
32 33 34 35 36 37 38 39 |
# File 'lib/graphql/types/relay/base_edge.rb', line 32 def node_type(node_type = nil, null: true) if node_type @node_type = node_type # Add a default `node` field field :node, node_type, null: null, description: "The item at the end of the edge." end @node_type end |
.visible?(ctx) ⇒ Boolean
49 50 51 |
# File 'lib/graphql/types/relay/base_edge.rb', line 49 def visible?(ctx) node_type.visible?(ctx) end |