Named after Goran Invanisevic, the tennis legend who won the Wimbledon after losing the final 3 times, Goran provides a simple syntax to run a block of code multiple times. E.g. * run block 'x' number of times * run until the block returns a non-nil value * run until the block does not raise an exception * run until the block returns a non-zero value, to a maximum of 3 times, and return nil if all runs return a 0 Goran is especially useful for running network calls which have unexpected outputs like 404, timeouts. It is an easy way to build in retry logic into these calls and handle cases where these calls do not succeed at all.
Gemfile gem 'goran', '~> 0.6'
install gem install goran