class GraphQL::Client::Schema::EnumType

def [](value)

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

def cast(value, _errors = nil)

Returns String or nil.

errors - Errors instance
values - JSON value

with the convenience predicate methods.
Internal: Cast JSON value to the enumeration's corresponding constant string instance
def cast(value, _errors = nil)
  case value
  when String
    if @values.key?(value)
      @values[value]
    elsif schema_module.raise_on_unknown_enum_value
      raise Error, "unexpected enum value #{value}"
    else
      UnexpectedEnumValue.new(value).freeze
    end
  when NilClass
    value
  else
    raise InvariantError, "expected value to be a String, but was #{value.class}"
  end
end

def define_class(definition, ast_nodes)

def define_class(definition, ast_nodes)
  self
end

def initialize(type)

type - GraphQL::EnumType instance

Internal: Construct enum wrapper from another GraphQL::EnumType.
def initialize(type)
  unless type.kind.enum?
    raise "expected type to be an Enum, but was #{type.class}"
  end
  @type = type
  @values = {}
  all_values = type.values.keys
  comparison_set = all_values.map { |s| -s.downcase }.to_set
  all_values.each do |value|
    str = EnumValue.new(-value, -value.downcase, comparison_set).freeze
    const_set(value, str) if value =~ /^[A-Z]/
    @values[str.to_s] = str
  end
  @values.freeze
end