class Foo
def self.one; 1 end
class << self
def two; 2 end
end
end
puts Foo.singleton_methods.inspect # => [\"two\", \"one\"]
I\'
I strongly recommend you to read "Metaprogramming Ruby". This book explains about Ruby's object model, including singleton method and singleton class.
http://pragprog.com/titles/ppmetr/metaprogramming-ruby
This article also explains same topic.
http://www.contextualdevelopment.com/articles/2008/ruby-singleton