cURL a Ruby

Pega un comando curl y obtén un script de Ruby con net/http de la biblioteca estándar, sin gemas.

cURL a Ruby convierte por completo en tu navegador. Los comandos con tokens o credenciales nunca se suben.

Abrir cURL a Python

Acerca de cURL to Ruby

La documentación de las API se escribe en curl y las aplicaciones se escriben en Ruby, así que la misma traducción se repite a mano una y otra vez. Este conversor analiza los flags que importan —método, cabeceras, datos, autenticación básica y el manejo de consulta de -G— y genera un script sobre net/http, que viene con Ruby y no necesita instalar nada. Un cuerpo JSON se representa como hash y pasa por JSON.generate, así que es fácil de editar antes de ejecutarlo.

Características

Cómo usar cURL to Ruby

  1. Copia el comando curl de la documentación de la API
  2. Pégalo en el panel izquierdo
  3. Revisa el Ruby generado a la derecha
  4. Cópialo o descárgalo como fichero .rb

Ejemplo

Entrada

curl -X POST https://api.example.com/users -H "Content-Type: application/json" -d '{"name":"Ada"}'

Salida

request = Net::HTTP::Post.new(uri)
request["Content-Type"] = "application/json"
request.body = JSON.generate({ "name" => "Ada" })

El cuerpo llega como hash editable, no como un bloque entrecomillado.

Errores comunes y solución de problemas

Preguntas frecuentes

¿El Ruby generado necesita alguna gema?
No. Usa net/http, uri y json, que vienen con Ruby, así que el script funciona en una instalación estándar sin instalar nada.
¿Por qué net/http y no Faraday o HTTParty?
El código de biblioteca estándar funciona en cualquier parte sin Gemfile, lo que lo hace la opción más segura para pegar en un proyecto ajeno. Migrarlo después a una gema es sencillo.
¿Cómo se gestiona la autenticación básica?
Un flag -u se convierte en request.basic_auth con usuario y contraseña como argumentos separados, que es la forma idiomática y evita codificar en Base64 a mano.
¿Qué pasa con un verbo HTTP poco común?
Los verbos sin clase propia en Net::HTTP, como PURGE, se emiten con Net::HTTPGenericRequest indicando el método como cadena.

Herramientas relacionadas

Todas las herramientas de ArrayKit