ferramenta começar / resgatar / repetir

Esta gema permite que você faça coisas sujas sem bagunçar sua base de código.

Eu me peguei usando begin / rescue / retry por meio de solicitações HTTP frequentemente, devido ao tempo limite ou coisas estranhas causadas por um serviço de terceiros bagunçado. (Houve um caso em que uma solicitação de imagem estava retornando uma resposta vazia aleatoriamente, de um site externo.)

Exemplo de código:

response = Tryout.try { do_http_request }.retry(3, :if => :empty?)