Class: GraphQLSchema::TypeDeclaration
- Inherits:
-
Type
- Object
- Type
- GraphQLSchema::TypeDeclaration
show all
- Defined in:
- lib/graphql_schema.rb
Constant Summary
Constants inherited
from Type
GraphQLSchema::Type::BUILTIN
Instance Method Summary
collapse
Methods inherited from Type
#builtin?, #enum?, #initialize, #input_object?, #interface?, #kind, #list?, #object?, #scalar?, #union?
Methods included from NamedHash
#camelize_name, #classify_name, #description, #name, #to_h, #upcase_name
Instance Method Details
#non_null? ⇒ Boolean
178
179
180
|
# File 'lib/graphql_schema.rb', line 178
def non_null?
kind == 'NON_NULL'
end
|
#of_type ⇒ Object
174
175
176
|
# File 'lib/graphql_schema.rb', line 174
def of_type
@of_type ||= TypeDeclaration.new(@hash.fetch('ofType'))
end
|
#subfields? ⇒ Boolean
195
196
197
198
199
200
201
202
|
# File 'lib/graphql_schema.rb', line 195
def subfields?
case unwrap.kind
when 'OBJECT', 'INTERFACE', 'UNION'
true
else
false
end
end
|
#unwrap ⇒ Object
182
183
184
185
186
187
188
189
|
# File 'lib/graphql_schema.rb', line 182
def unwrap
case kind
when 'NON_NULL', 'LIST'
of_type.unwrap
else
self
end
end
|
#unwrap_non_null ⇒ Object
191
192
193
|
# File 'lib/graphql_schema.rb', line 191
def unwrap_non_null
non_null? ? of_type.unwrap_non_null : self
end
|