From: Peter Hickman Date: 2011-11-23T23:08:08+09:00 Subject: Re: private and protected The call 'self.phrase' is a call to a class method but 'def phrase' is the definition of an instance method. Either remove the self in the say method or change 'def phrase' to 'def self.phrase'. It has nothing to do with private or protected.