As a Rubyist I'm strongly against *always* using `self`. No-one does this. 

A compromise would be to use explicit `self` when the method call looks like a local variable:

Good:

```ruby
self.foo
foo(1, 2)
foo do
end
```

Bad:

```ruby
foo
self.foo(1, 2)
self.foo do
end
```