cURL para Ruby

Cole um comando curl e receba um script Ruby com net/http da biblioteca padrão, sem gems.

cURL para Ruby converte inteiramente no seu navegador. Comandos com tokens ou credenciais nunca são enviados.

Abrir cURL para Python

Sobre cURL to Ruby

A documentação das APIs é escrita em curl e as aplicações são escritas em Ruby, então a mesma tradução é feita à mão repetidamente. Este conversor analisa as flags que importam — método, cabeçalhos, dados, autenticação básica e o tratamento de query do -G — e gera um script sobre net/http, que vem com o Ruby e não exige instalar nada. Um corpo JSON é representado como hash e passa por JSON.generate, então é fácil editar antes de rodar.

Recursos

Como usar cURL to Ruby

  1. Copie o comando curl da documentação da API
  2. Cole no painel da esquerda
  3. Confira o Ruby gerado à direita
  4. Copie ou baixe como arquivo .rb

Exemplo

Entrada

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

Saída

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

O corpo chega como hash editável, não como um bloco entre aspas.

Erros comuns e solução de problemas

Perguntas frequentes

O Ruby gerado precisa de alguma gem?
Não. Usa net/http, uri e json, que vêm com o Ruby, então o script roda em uma instalação padrão sem instalar nada.
Por que net/http e não Faraday ou HTTParty?
Código de biblioteca padrão roda em qualquer lugar sem Gemfile, o que é mais seguro para colar em um projeto desconhecido. Migrar depois para uma gem é simples.
Como a autenticação básica é tratada?
Uma flag -u vira request.basic_auth com usuário e senha como argumentos separados, que é a forma idiomática e evita codificar em Base64 na mão.
E um verbo HTTP incomum?
Verbos sem classe própria no Net::HTTP, como PURGE, são emitidos com Net::HTTPGenericRequest indicando o método como string.

Ferramentas relacionadas

Todas as ferramentas de ArrayKit