class GraphQL::Client::Schema::EnumType::EnumValue

def initialize(obj, enum_value, enum)

def initialize(obj, enum_value, enum)
  super(obj)
  @enum_value = enum_value
  @enum = enum
end

def method_missing(method_name, *args)

def method_missing(method_name, *args)
  if method_name[-1] == "?"
    queried_value = method_name[0..-2]
    if @enum.include?(queried_value)
      raise ArgumentError, "wrong number of arguments (given #{args.size}, expected 0)" unless args.empty?
      return @enum_value == queried_value
    end
  end
  super
end

def respond_to_missing?(method_name, include_private = false)

def respond_to_missing?(method_name, include_private = false)
  if method_name[-1] == "?" && @enum.include?(method_name[0..-2])
    true
  else
    super
  end
end

def unknown_enum_value?

def unknown_enum_value?
  false
end