Improve exception handling in Flodesk::Client
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 58/100
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:
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:
Mock out the client in tests
As a separate task we can take a look at mocking → Fixed on https://github.com/codebar/planner/pull/2402Flodesk::Client in the specs.
- Lenguaje dominante
- Ruby
- Estrellas
- 104
- Forks
- 205
- Merge medio
- 1 d 8 h
- PR fusionados (30 d)
- 67
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de codebar/planner
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
Clean up historical duplicate invitation rows (one member, two invitations per event/workshop) Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
-
good first issue performance
Dificultad 3/5 1-2 días Aptitud para principiantes 78/100
Todos los issues de codebar/planner
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
riscv/riscv-unified-db#2626 ·
-
Component: GLib
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
ds-drift
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
we-promise/sure#3693 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
simp/pupmod-simp-simp#395 ·