>  Computers process any O(1) algorithm quickly!

Unless it's IO-bound. :wink:

Anyway, my concern is not that there's extra computation done. You effectively cut it down by early returns.

Ruby has implicit return. The last value of the method is what's returned. And most methods do just that. Early return breaks that pattern. That's why I don't like it much.

My suggestion. Break it down into smaller private methods and combine them here with logic operators.

```ruby
def stale_slug?
  new? ||
  empty_slug? || invalid_slug? ||
  dirty_source? ||
  changed_scope?
end
```