iconara/ione — pull request #7 by iconara (2014-07-09 13:03:09+00:00)
Title: Future improvements

Improves the `Future` specs, removes some unnecessary uses of `.tap` and adds `Future#then`.

`Future#then` is like a mix between `Future#map` and `Future#flat_map`. The primary use case is when you don't know until you see the value if you want to synchronously transform the value or make another asynchronous operation, for example:

```ruby
f = asynchronously_load_something
f = f.then do |result|
if result.empty?
asynchronously_load_some_fallback_value
else
result
end
end
```