Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Improve exception handling in Flodesk::Client

Abierto
#2,321 0 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
58/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
ruby
Área
api, backend

Línea de trabajo

Comienza en lib/flodesk.rb, en Client#request, e inspecciona la comprobación del tipo de retorno alrededor de las líneas 70–74. Verifica la ruta de error de conexión cuando response_body está ausente, actualiza el comportamiento del llamador y ejecuta las specs existentes relacionadas con Flodesk para confirmar que se producen errores y que el caso nil ya no provoca un NoMethodError.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Currently we've got the following code in Client#request:

https://github.com/codebar/planner/blob/45fd9d14f91bbbc80c13412983b51d75ff285c57/lib/flodesk.rb#L128-L133

Make code nil-safe

This can result in a NoMethodError: undefined method '[]' for nil if there is an issue connecting to Flodesk and the response doesn't actually contain a message_body.

This could happen in production, but also can be a source of flaky tests as happened recently.

Proposing to make this nil-safe by using e.response_body&.['message']

Raise rather than return the exception

Currently this code is actually returning the FlodeskError rather than raising it.

Proposing to raise the exception instead, but note there's one place where we currently check the return type from the method that will need updating to reflect this change:

https://github.com/codebar/planner/blob/45fd9d14f91bbbc80c13412983b51d75ff285c57/lib/flodesk.rb#L70-L74

Mock out the client in tests

As a separate task we can take a look at mocking Flodesk::Client in the specs. → Fixed on https://github.com/codebar/planner/pull/2402

Lenguaje dominante
Ruby
Estrellas
104
Forks
205
Merge medio
1 d 8 h
PR fusionados (30 d)
67

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de codebar/planner

Todos los issues de codebar/planner

Issues similares

Más issues de Ruby

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.