Class: GraphQLSchema::TypeDeclaration

Inherits:
Type
  • Object
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

Constructor Details

This class inherits a constructor from GraphQLSchema::Type

Instance Method Details

#non_null?Boolean

Returns:



178
179
180
# File 'lib/graphql_schema.rb', line 178

def non_null?
  kind == 'NON_NULL'
end

#of_typeObject



174
175
176
# File 'lib/graphql_schema.rb', line 174

def of_type
  @of_type ||= TypeDeclaration.new(@hash.fetch('ofType'))
end

#subfields?Boolean

Returns:



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

#unwrapObject



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_nullObject



191
192
193
# File 'lib/graphql_schema.rb', line 191

def unwrap_non_null
  non_null? ? of_type.unwrap_non_null : self
end