```ruby
raise if '503' == ex.response.code.to_s
raise if max_attempts && attempts >= max_attempts
retry_after = ex.response['Retry-After'].try(:to_i) || cooldown
callback.call(retry_after, attempts, max_attempts, options, ex) if callback
```
С последним не уверен - много параметров. Может тоже хэшем? Ошибка, мне кажется, может понадобиться.