Class: GraphQL::TypeKinds::TypeKind

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

Overview

These objects are singletons, eg GraphQL::TypeKinds::UNION, GraphQL::TypeKinds::SCALAR.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, abstract: false, fields: false, wraps: false, input: false, description: nil) ⇒ TypeKind

Returns a new instance of TypeKind.



8
9
10
11
12
13
14
15
16
# File 'lib/graphql/type_kinds.rb', line 8

def initialize(name, abstract: false, fields: false, wraps: false, input: false, description: nil)
  @name = name
  @abstract = abstract
  @fields = fields
  @wraps = wraps
  @input = input
  @composite = fields? || abstract?
  @description = description
end

Instance Attribute Details

#descriptionObject (readonly)

Returns the value of attribute description.



7
8
9
# File 'lib/graphql/type_kinds.rb', line 7

def description
  @description
end

#nameObject (readonly)

Returns the value of attribute name.



7
8
9
# File 'lib/graphql/type_kinds.rb', line 7

def name
  @name
end

Instance Method Details

#abstract?Boolean

Is this TypeKind abstract?

Returns:

  • (Boolean)


22
# File 'lib/graphql/type_kinds.rb', line 22

def abstract?; @abstract; end

#composite?Boolean

Is this TypeKind composed of many values?

Returns:

  • (Boolean)


31
# File 'lib/graphql/type_kinds.rb', line 31

def composite?; @composite; end

#enum?Boolean

Returns:

  • (Boolean)


49
50
51
# File 'lib/graphql/type_kinds.rb', line 49

def enum?
  self == TypeKinds::ENUM
end

#fields?Boolean

Does this TypeKind have queryable fields?

Returns:

  • (Boolean)


24
# File 'lib/graphql/type_kinds.rb', line 24

def fields?;    @fields;    end

#input?Boolean

Is this TypeKind a valid query input?

Returns:

  • (Boolean)


28
# File 'lib/graphql/type_kinds.rb', line 28

def input?;     @input;     end

#input_object?Boolean

Returns:

  • (Boolean)


53
54
55
# File 'lib/graphql/type_kinds.rb', line 53

def input_object?
  self == TypeKinds::INPUT_OBJECT
end

#interface?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/graphql/type_kinds.rb', line 41

def interface?
  self == TypeKinds::INTERFACE
end

#list?Boolean

Returns:

  • (Boolean)


57
58
59
# File 'lib/graphql/type_kinds.rb', line 57

def list?
  self == TypeKinds::LIST
end

#non_null?Boolean

Returns:

  • (Boolean)


61
62
63
# File 'lib/graphql/type_kinds.rb', line 61

def non_null?
  self == TypeKinds::NON_NULL
end

#object?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/graphql/type_kinds.rb', line 37

def object?
  self == TypeKinds::OBJECT
end

#resolves?Boolean

Deprecated.

Use abstract? instead of resolves?.

Does this TypeKind have multiple possible implementors?

Returns:

  • (Boolean)


20
# File 'lib/graphql/type_kinds.rb', line 20

def resolves?;  @abstract;  end

#scalar?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/graphql/type_kinds.rb', line 33

def scalar?
  self == TypeKinds::SCALAR
end

#to_sObject



29
# File 'lib/graphql/type_kinds.rb', line 29

def to_s;       @name;      end

#union?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'lib/graphql/type_kinds.rb', line 45

def union?
  self == TypeKinds::UNION
end

#wraps?Boolean

Does this TypeKind modify another type?

Returns:

  • (Boolean)


26
# File 'lib/graphql/type_kinds.rb', line 26

def wraps?;     @wraps;     end