11155
(-- --)
1
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:
11155
(-- --)
4
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?