module GraphQL::Types::Relay::HasNodeField
def self.included(child_class)
def self.included(child_class) child_class.field(**field_options, &field_block) end
def field_block
def field_block Proc.new { argument :id, "ID!", description: "ID of the object." def resolve(obj, args, ctx) ctx.schema.object_from_id(args[:id], ctx) end def resolve_field(obj, args, ctx) resolve(obj, args, ctx) end } end
def field_options
def field_options { name: "node", type: GraphQL::Types::Relay::Node, null: true, description: "Fetches an object given its ID.", relay_node_field: true, } end
def resolve(obj, args, ctx)
def resolve(obj, args, ctx) ctx.schema.object_from_id(args[:id], ctx) end
def resolve_field(obj, args, ctx)
def resolve_field(obj, args, ctx) resolve(obj, args, ctx) end