Uma implementação Ruby simples e elegante da especificação JSend para padronização de respostas de API.
JSend Ruby é uma biblioteca minimalista que implementa o padrão JSend para estruturar respostas JSON de APIs de maneira consistente e previsível.
em breve!
(mas se você manjar das manjarias, dá pra adicionar dependencia direto do github)
# Sucesso básico
response = Jsend.on_success
# => { status: "success", data: nil }
# Sucesso com dados
response = Jsend.on_success(data: { user: { id: 1, name: "João" } })
# => { status: "success", data: { user: { id: 1, name: "João" } } }# Falha básica
response = Jsend.on_failure
# => { status: "fail", data: nil }
# Falha com dados explicativos
response = Jsend.on_failure(data: { email: "Formato de email inválido" })
# => { status: "fail", data: { email: "Formato de email inválido" } }# Erro básico (message é obrigatório)
response = Jsend.on_error(message: "Database connection failed")
# => { status: "error", message: "Database connection failed" }
# Erro com código e dados adicionais
response = Jsend.on_error(
message: "Unable to communicate with external service",
code: "SERVICE_UNAVAILABLE",
data: { retry_after: 300 }
)
# => { status: "error", message: "Unable to communicate with external service",
# code: "SERVICE_UNAVAILABLE", data: { retry_after: 300 } }rake testContribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.
Feito com ❤️ para a comunidade ruby.
Unlicensed - veja o arquivo LICENSE para detalhes.
Nota: Esta é uma implementação Ruby pura da especificação JSend, mantendo a simplicidade e compatibilidade com o padrão original.