module Puma::JSONSerialization

def serialize_value(output, value)

def serialize_value(output, value)
  case value
  when Hash
    output << '{'
    value.each_with_index do |(k, v), index|
      output << ',' if index != 0
      serialize_object_key output, k
      output << ':'
      serialize_value output, v
    end
    output << '}'
  when Array
    output << '['
    value.each_with_index do |member, index|
      output << ',' if index != 0
      serialize_value output, member
    end
    output << ']'
  when Integer, Float
    output << value.to_s
  when String
    serialize_string output, value
  when true
    output << 'true'
  when false
    output << 'false'
  when nil
    output << 'null'
  else
    raise SerializationError, "Unexpected value of type #{value.class}"
  end
end