gocardless/statesman — pull request #65 by greysteil (2014-07-25 16:07:48+00:00)
Title: Add retry_conflicts class method to Machine which automatically retries conflicts

When race conditions occur, Statesman raises a TransitionConflictError. The user then needs to handle that error.

In many cases we know up front what we want to do if there's a race: we want to retry the second action and get back the right error for it (or have it succeed). This PR adds a class method on Statesman::Machine that allows us to specify that up-front using:

```
Statesman::Machine.retry_conflicts do
instance.transition_to(:y)
end
```