From: Jeff Rose Date: 2006-05-11T19:52:10+09:00 Subject: Re: class << self I asked the same question yesterday... It is just another way add singleton methods to the outer scope (probably saw this in a module?). So this: module Foo class << self def a; end def b; end end end is the same as: module Foo def Foo.a; end def Foo.b; end end I guess people use this style to organize sets of singleton methods so that they are clearly separated from the rest of the module. (Since methods defined regularly won't be used until the module is mixed in somewhere...) Saves you from having to write the "Foo." part before every method too... -Jeff Tim Uckun wrote: > I was reading through the source code of the DBI module and I saw this > line there. > > class << self > > What does this statement do?