Can't get the singleton of a Rails model

class Model < ActiveRecord::Base

  def singleton
    class << self
      self
    end
  end

end

m = Model.new
m.singleton
SystemStackError: stack level too deep..

<a href="http://pastie.org/private/8okkiajm0qwfiwulxg3tjw">See the
complete error.</a>

Why is this?

Where did you get that from as a method for creating singletons?

Try this instead:
http://www.railsrocket.com/articles/singleton-classes

Michael Pavling wrote:

Marnen Laibow-Koser wrote:

That's the Singleton pattern. I think the OP wanted to know how to get
a model's singleton class (eigenclass).

Correct.

Unfortunate coincidence of terminology for two completely different things.

Agreed. On a hunch, I looked up Black's precise terminology in The
Well-Grounded Rubyist and he defines his method like so:

def singleton_class
  ...

I believe some level of confusion may have been avoided had I written as
he did. Anywho.

So, Marnen, any idea why AR-inheriting objects do this?