module GraphQL::Types::Relay::HasNodeField
Include this module to your root Query type to get a Relay-compliant node(id: ID!): Node field that uses the schema’s object_from_id hook.
Public Class Methods
Source
# File lib/graphql/types/relay/has_node_field.rb, line 40 def field_block Proc.new { #: self as GraphQL::Schema::Field argument :id, "ID!", description: "ID of the object." } end
Source
# File lib/graphql/types/relay/has_node_field.rb, line 28 def field_options { name: "node", type: GraphQL::Types::Relay::Node, null: true, description: "Fetches an object given its ID.", relay_node_field: true, resolver_method: :get_relay_node, resolve_static: :get_relay_node, } end
Source
# File lib/graphql/types/relay/has_node_field.rb, line 11 def self.included(child_class) child_class.field(**field_options, &field_block) child_class.extend(ExecutionMethods) end
Public Instance Methods
Source
# File lib/graphql/types/relay/has_node_field.rb, line 22 def get_relay_node(id:) query_class = self.class #: as GraphQL::Types::Relay::HasNodeField::ExecutionMethods query_class.get_relay_node(context, id: id) end