##Won't work method #1

class Foobar
  private
  def foo;  p "Foobar";  end
end

class Baz < Foobar
  def blah; foo; end
end

baz = Baz.new
baz.foo

## Work method #2

class Foobar
  private
  def foo;  p "Foobar";  end
end

class Baz < Foobar
  def blah; foo; end
end

baz = Baz.new
baz.blah

PickAxe2:

If a method is private, it may be called only within the context of
the calling object═╩t is never possible to access another object's
private methods directly, even if the object is of the same class as
the caller.

So what happens in Method#2, why foo can be easily called, when called
from inside the class Baz? I mean, that method foo should be still
bound to instance baz...so in which context foo gets called in
Method#2.



-- 
There was only one Road; that it was like a great river: its springs
were at every doorstep, and every path was its tributary.