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| ... } ⇒ Enum

Returns a new instance of Enum.

Yields:

  • (_self)

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) if block_given?
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

#[](val) ⇒ Object



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

def [](val)
  @values[val]
end

#kindObject



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

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