From: Trans Date: 2005-11-06T23:22:10+09:00 Subject: Re: Access control and class methods It just doesn't work when done in this way becuase public, private and protected are only effecting the incance level, so you need to get to the class's "instance level", i.e. the class level. class Foo class << self public def _public (x) puts "Hello in a public way #{x}" end protected def _protected (x) puts "Hello in a protected way #{x}" end private def _private (x) puts "Hello in a private way #{x}" end end end T.