class GraphQL::Schema::BuildFromDefinition::Builder::TypeLinks
References between types in this document, recorded while they’re built.
Attributes
Hash of type => Array of the fields and arguments that use it (no duplicates, since each one is added once)
Public Class Methods
Source
# File lib/graphql/schema/build_from_definition.rb, line 328 def initialize @references = {}.compare_by_identity @arguments = [] @complete = true end
Public Instance Methods
# File lib/graphql/schema/build_from_definition.rb, line 348 def add_argument(argument, argument_type) @arguments << argument add_reference(argument, argument_type) end
# File lib/graphql/schema/build_from_definition.rb, line 353 def add_reference(member, member_type) member_type = member_type.unwrap if member_type.is_a?(Schema::LateBoundType) # The generic traversal will raise an error for this incomplete! else (@references[member_type] ||= []) << member end end
Source
# File lib/graphql/schema/build_from_definition.rb, line 340 def complete? @complete end
True if everything was recorded, so the generic traversal isn’t needed
Source
# File lib/graphql/schema/build_from_definition.rb, line 344 def incomplete! @complete = false end