Sha256: a31cfcde8516558ea95aa8de940ef9396ed2e9cd1c7c8f8ba209c491d6ca7d2c

Contents?: true

Size: 763 Bytes

Versions: 3

Compression:

Stored size: 763 Bytes

Contents

# frozen_string_literal: true
module GraphQL
  module Types
    module Relay
      # This can be used for implementing `Query.node(id: ...)`,
      # or use it for inspiration for your own field definition.
      NodeField = GraphQL::Schema::Field.new(
        name: "node",
        owner: nil,
        type: GraphQL::Types::Relay::Node,
        null: true,
        description: "Fetches an object given its ID.",
        relay_node_field: true,
      ) do
        argument :id, "ID!", required: true,
          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
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
graphql-1.9.0.pre3 lib/graphql/types/relay/node_field.rb
graphql-1.9.0.pre2 lib/graphql/types/relay/node_field.rb
graphql-1.9.0.pre1 lib/graphql/types/relay/node_field.rb