Phrogz wrote:
>
> 2) If you are writing a class or module for use by others, they will
> have access to the source code, and could rewrite it to allow things
> you didn't intend. Use 'protected' and 'private' to indicate when the
> methods should be called under normal circumstances. But it's not a
> guarantee.

There's a few loopholes around private and protected, e.g. subclass a
class with private methods and declare them public in the subclass, but
one of them is closed in 1.9, you can't #send private methods anymore
(ok, you can #funcall them, ...)

http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9