Sha256: acc91a4e0174af18aa09f6b7bf3c4f9539e5b580e58689b816986de9144c2a8c

Contents?: true

Size: 1.13 KB

Versions: 2

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true
module GraphQL
  module Types
    module Relay
      # Don't use this field directly, instead, use one of these approaches:
      #
      # @example Adding this field directly
      #   include GraphQL::Types::Relay::HasNodeField
      #
      # @example Implementing a similar field in your own Query root
      #
      #   field :node, GraphQL::Types::Relay::Node, null: true,
      #     description: "Fetches an object given its ID" do
      #       argument :id, ID, required: true
      #     end
      #
      #   def node(id:)
      #     context.schema.object_from_id(id, context)
      #   end
      #
      def self.const_missing(const_name)
        if const_name == :NodeField
          message = "NodeField is deprecated, use `include GraphQL::Types::Relay::HasNodeField` instead."
          message += "\n(referenced from #{caller(1, 1).first})"
          GraphQL::Deprecation.warn(message)

          DeprecatedNodeField
        else
          super
        end
      end

      DeprecatedNodeField = GraphQL::Schema::Field.new(owner: nil, **HasNodeField.field_options, &HasNodeField.field_block)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
graphql-1.13.4 lib/graphql/types/relay/node_field.rb
graphql-1.13.3 lib/graphql/types/relay/node_field.rb