class GraphQL::Introspection::InputValueType

def default_value

def default_value
  if @object.default_value?
    value = @object.default_value
    if value.nil?
      'null'
    else
      coerced_default_value = @object.type.coerce_result(value, @context)
      serialize_default_value(coerced_default_value, @object.type)
    end
  else
    nil
  end
end

def serialize_default_value(value, type)

Recursively serialize, taking care not to add quotes to enum values
def serialize_default_value(value, type)
  if value.nil?
    'null'
  elsif type.kind.list?
    inner_type = type.of_type
    "[" + value.map { |v| serialize_default_value(v, inner_type) }.join(", ") + "]"
  elsif type.kind.non_null?
    serialize_default_value(value, type.of_type)
  elsif type.kind.enum?
    value
  elsif type.kind.input_object?
    "{" +
      value.map do |k, v|
        arg_defn = type.arguments[k]
        "#{k}: #{serialize_default_value(v, arg_defn.type)}"
      end.join(", ") +
      "}"
  else
    GraphQL::Language.serialize(value)
  end
end