Class: GraphQL::Introspection::SchemaType

Inherits:
BaseObject show all
Defined in:
lib/graphql/introspection/schema_type.rb

Constant Summary

Constants included from Schema::Member::HasFields

Schema::Member::HasFields::CONFLICT_FIELD_NAMES, Schema::Member::HasFields::GRAPHQL_RUBY_KEYWORDS, Schema::Member::HasFields::RUBY_KEYWORDS

Constants included from Schema::Member::GraphQLTypeNames

Schema::Member::GraphQLTypeNames::Boolean, Schema::Member::GraphQLTypeNames::ID, Schema::Member::GraphQLTypeNames::Int

Instance Attribute Summary

Attributes inherited from Schema::Object

#context, #object

Instance Method Summary collapse

Methods inherited from BaseObject

field

Methods inherited from Schema::Object

authorized_new, fields, implements, #initialize, interfaces, kind, own_interfaces, to_graphql

Methods included from Schema::Member::HasFields

#add_field, #field, #field_class, #fields, #get_field, #global_id_field, #own_fields

Methods included from Schema::Member::HasPath

#path

Methods included from Schema::Member::RelayShortcuts

#connection_type, #connection_type_class, #edge_type, #edge_type_class

Methods included from Schema::Member::Scoped

#scope_items

Methods included from Schema::Member::TypeSystemHelpers

#kind, #list?, #non_null?, #to_list_type, #to_non_null_type, #to_type_signature

Methods included from Schema::Member::BaseDSLMethods

#accessible?, #authorized?, #default_graphql_name, #description, #graphql_name, #introspection, #introspection?, #mutation, #name, #overridden_graphql_name, #to_graphql, #visible?

Methods included from Relay::TypeExtensions

#connection_type, #define_connection, #define_edge, #edge_type

Methods included from Schema::Member::CachedGraphQLDefinition

#graphql_definition, #initialize_copy

Constructor Details

This class inherits a constructor from GraphQL::Schema::Object

Instance Method Details

#directivesObject



38
39
40
# File 'lib/graphql/introspection/schema_type.rb', line 38

def directives
  context.schema.directives.values
end

#mutation_typeObject



30
31
32
# File 'lib/graphql/introspection/schema_type.rb', line 30

def mutation_type
  permitted_root_type("mutation")
end

#query_typeObject



26
27
28
# File 'lib/graphql/introspection/schema_type.rb', line 26

def query_type
  permitted_root_type("query")
end

#subscription_typeObject



34
35
36
# File 'lib/graphql/introspection/schema_type.rb', line 34

def subscription_type
  permitted_root_type("subscription")
end

#typesObject



17
18
19
20
21
22
23
24
# File 'lib/graphql/introspection/schema_type.rb', line 17

def types
  types = @context.warden.reachable_types.sort_by(&:graphql_name)
  if context.interpreter?
    types.map { |t| t.[:type_class] || raise("Invariant: can't introspect non-class-based type: #{t}") }
  else
    types
  end
end