Hugh Sasse Staff Elec Eng <hgs / dmu.ac.uk> writes:

> > must be called as  TestCase.suite(....), and
> 
> Hmmm, so why is this being done *inside* the class definition of TestCase,
> because non-singleton methods defined there can only have receivers of
> TestCase anyway? What extras do you get?  Doing this outside has its use
> like your getSomeSleep example; I can see that.

As far as I know, the only different is that methods defined within
the class have unqualified access to constants defined within the
class:

   class One
      ONE = 1
      def One.one
        puts ONE
      end
   end

   One.one       #=> 1

   def One.another
     puts ONE
   end

   One.another   #=> -:11:in `another': uninitialized constant ONE (NameError)