I think you could move line 38 up as the loop condition to simplify a bit.

``` ruby
while (retrying_time < options[:expiry]) do
  attempts += 1
  retrying_time += waiting_time(attempts, options)
  return if @adapter.store(key_for(key), options[:expiry])
  Kernel.sleep(retrying_time)
end
```

Not a blocker though.