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…

See the
complete error.

Why is this?

On 13 May 2010 21:57, Daniel W. [email protected] wrote:

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

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 P. wrote:

On 13 May 2010 21:57, Daniel W. [email protected] wrote:

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

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

That’s the Singleton pattern. I think the OP wanted to know how to get
a model’s singleton class (eigenclass). Unfortunate coincidence of
terminology for two completely different things.

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

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?