Class: GraphQL::Enum

Inherits:
Object
  • Object
show all
Extended by:
Definable
Includes:
NonNullWithBang
Defined in:
lib/graph_ql/enum.rb

Defined Under Namespace

Classes: EnumValue

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Definable

attr_definable

Methods included from NonNullWithBang

#!

Constructor Details

#initialize {|_self, GraphQL::TypeDefiner.instance, GraphQL::FieldDefiner.instance, GraphQL::ArgumentDefiner.instance| ... } ⇒ Enum

Returns a new instance of Enum.

Yields:

Yield Parameters:

  • _self (GraphQL::Enum)

    the object that the method was called on



6
7
8
9
# File 'lib/graph_ql/enum.rb', line 6

def initialize
  @values = {}
  yield(self, GraphQL::TypeDefiner.instance, GraphQL::FieldDefiner.instance, GraphQL::ArgumentDefiner.instance)
end

Instance Attribute Details

#valuesObject (readonly)

Returns the value of attribute values.



5
6
7
# File 'lib/graph_ql/enum.rb', line 5

def values
  @values
end

Instance Method Details

#coerce(value) ⇒ Object



19
20
21
# File 'lib/graph_ql/enum.rb', line 19

def coerce(value)
  @values[value]
end

#kindObject



15
16
17
# File 'lib/graph_ql/enum.rb', line 15

def kind
  GraphQL::TypeKinds::ENUM
end

#value(name, description = nil, deprecation_reason: nil) ⇒ Object



11
12
13
# File 'lib/graph_ql/enum.rb', line 11

def value(name, description=nil, deprecation_reason: nil)
  @values[name] = EnumValue.new(name: name, description: description, deprecation_reason: deprecation_reason)
end