Class: GraphQL::Schema::LateBoundType

Inherits:
Object
  • Object
show all
Defined in:
lib/graphql/schema/late_bound_type.rb

Overview

A stand-in for a type which will be resolved in a given schema, by name. TODO: support argument types too, make this a public API somehow

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(local_name) ⇒ LateBoundType

Returns a new instance of LateBoundType.



10
11
12
13
14
# File 'lib/graphql/schema/late_bound_type.rb', line 10

def initialize(local_name)
  @name = local_name
  @to_non_null_type = nil
  @to_list_type = nil
end

Instance Attribute Details

#nameObject (readonly) Also known as: graphql_name



8
9
10
# File 'lib/graphql/schema/late_bound_type.rb', line 8

def name
  @name
end

Instance Method Details

#inspectObject Also known as: to_s



28
29
30
# File 'lib/graphql/schema/late_bound_type.rb', line 28

def inspect
  "#<LateBoundType @name=#{name}>"
end

#non_null?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/graphql/schema/late_bound_type.rb', line 32

def non_null?
  false
end

#to_list_typeObject



24
25
26
# File 'lib/graphql/schema/late_bound_type.rb', line 24

def to_list_type
  @to_list_type ||= GraphQL::Schema::List.new(self)
end

#to_non_null_typeObject



20
21
22
# File 'lib/graphql/schema/late_bound_type.rb', line 20

def to_non_null_type
  @to_non_null_type ||= GraphQL::Schema::NonNull.new(self)
end

#unwrapObject



16
17
18
# File 'lib/graphql/schema/late_bound_type.rb', line 16

def unwrap
  self
end