Skip to content

odineiramone/jsend-rb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSend.rb

Uma implementação Ruby simples e elegante da especificação JSend para padronização de respostas de API.

Visão Geral

JSend Ruby é uma biblioteca minimalista que implementa o padrão JSend para estruturar respostas JSON de APIs de maneira consistente e previsível.

Instalação

em breve!

(mas se você manjar das manjarias, dá pra adicionar dependencia direto do github)

Uso

Resposta de Sucesso (Success)

# 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" } } }

Resposta de Falha (Fail)

# 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" } }

Resposta de Erro (Error)

# 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 } }

Desenvolvimento

Executar testes

rake test

Contribuições

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.

Feito com ❤️ para a comunidade ruby.

Licença

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.

About

Uma implementação Ruby simples e elegante da especificação JSend para padronização de respostas de API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages