Ruby · Intermediário · Inglês · Técnico
Rack
Interface mínima entre servidores web e aplicações Ruby: uma aplicação Rack é um objeto com call(env) que devolve status, cabeçalhos e corpo. Rails, Sinatra e Puma conversam por ela.
Onde usar
Aparece ao escrever middlewares, depurar a pilha de requisição ou montar um app mínimo em config.ru. Entender o Rack explica como o Rails encadeia comportamentos.
Em código
# config.ru
Ola = ->(env) do
[200, {"content-type" => "text/plain"},
["oi"]]
end
run OlaExemplos
Any object with a call method is a Rack app.
Qualquer objeto com um método call é um app Rack.
The middleware wraps the next Rack app.
O middleware envolve o próximo app Rack.
Cuidado
Não é um framework nem um servidor: é o contrato entre eles. Confundir Rack com Puma é comum.