En Ruby, cómo generar json desde el hash y darle saltos de línea y pestañas

Estoy tratando de formatear{"key" => "value"} para convertirlo en:

{
    "key" : "value"
}

para escribir en un archivo json. ahora mismo estoy haciendo:

hash = {"key" => "value"}
puts hash.to_json.gsub('{', '{\n\t')

para comenzar. y esto produce

{\n\t"key":"value"}

¿Por qué no puedo hacer el salto de línea?

Respuestas a la pregunta(3)

Su respuesta a la pregunta