My style is to use `{ }` for any block where I want to to use the output, so I'm taking the output of the find and returning it, so I use `{ }`.  I use `do end` when I'm using the block procedurally or as `return [void]` and not caring about the return value.  I don't recall the original inventor of this style, my google-foo is failing me, but the reason for this, is that chaining looks better on braces, so:

```ruby
build.tap { |instance|
  instance.associated = thing
}.save!
```

while using `do end` gets you

```ruby
build.tap do |instance|
  instance.associated = thing
end.save!
```

The style of using `{ }` for one-liners and `do end` for multi-liners was a useless style consideration because I don't do one-liners since it's near impossible to debug them except with stepping in Rubymine: you can't put a break point only on the interior of the one-line block.