# Re: Find all ActiveRecord::Base subclasses?

**URL:** <https://www.ruby-forum.com/t/re-find-all-activerecord-base-subclasses/99331>\
**Category:** Rails\
**Created:** [December 12, 2005, 10:04pm UTC](https://www.ruby-forum.com/t/re-find-all-activerecord-base-subclasses/99331 "2005-12-12T22:04:43Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andrew\_OSBrien](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/d6d6ee/32.png) [@Andrew\_OSBrien](https://www.ruby-forum.com/u/Andrew_OSBrien)\
**Post date:** [December 12, 2005, 10:04pm UTC](https://www.ruby-forum.com/t/re-find-all-activerecord-base-subclasses/99331/1 "2005-12-12T22:04:43Z")

</div>

Wouldn’t that return the objects of class ActiveRecord::Base instead  
of the classes themselves?

Looking through the Base.rb, I saw that there’s a method called  
“subclasses” that’s protected. Just to clarify my original question,  
I’m trying to do this from a class outside of ActiveRecord::Base.

> You might query the ObjectSpace.

> Kent.

---

<div class="post-metadata">

**Author:** ![Andrew\_OSBrien](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/d6d6ee/32.png) [@Andrew\_OSBrien](https://www.ruby-forum.com/u/Andrew_OSBrien)\
**Post date:** [December 12, 2005, 10:22pm UTC](https://www.ruby-forum.com/t/re-find-all-activerecord-base-subclasses/99331/2 "2005-12-12T22:22:46Z")

</div>

Try…

objects = []  
ObjectSpace.each\_object(Class) {|obj| objects \<\< obj if obj.superclass  
== ActiveRecord::Base}

Luke

On Mon, Dec 12, 2005 at 04:02:43PM -0500, Andrew O’Brien wrote:

> > > [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)
> 
> * * *
> 
> Rails mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

–  
Luke Amdor  
removed\_email\_address@domain.invalid

/usr/bin/fortune |

And we can always supply them with a program that makes identical files  
into links to a single file.  
– Larry Wall in [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![Andrew\_OSBrien](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/d6d6ee/32.png) [@Andrew\_OSBrien](https://www.ruby-forum.com/u/Andrew_OSBrien)\
**Post date:** [December 12, 2005, 10:28pm UTC](https://www.ruby-forum.com/t/re-find-all-activerecord-base-subclasses/99331/3 "2005-12-12T22:28:48Z")

</div>

On Monday 12 December 2005 16:02, Andrew O’Brien wrote:

> Wouldn’t that return the objects of class ActiveRecord::Base instead  
> of the classes themselves?

Not necessarily.

ObjectSpace.each\_object(Class) do |c|  
p c if c.superclass == ActiveRecord::Base  
end

Note that it assumes that all models have been already loaded.

Kent.

---

<div class="post-metadata">

**Author:** ![Andrew\_OSBrien](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/d6d6ee/32.png) [@Andrew\_OSBrien](https://www.ruby-forum.com/u/Andrew_OSBrien)\
**Post date:** [December 12, 2005, 11:13pm UTC](https://www.ruby-forum.com/t/re-find-all-activerecord-base-subclasses/99331/4 "2005-12-12T23:13:56Z")

</div>

It will. But

ObjectSpace.each\_object(Class) do |c|  
p c if c.ancestors.include? ActiveRecord::Base  
end

will not.

Kent.

---

<div class="post-metadata">

**Author:** ![Andrew\_OSBrien](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/d6d6ee/32.png) [@Andrew\_OSBrien](https://www.ruby-forum.com/u/Andrew_OSBrien)\
**Post date:** [December 12, 2005, 11:19pm UTC](https://www.ruby-forum.com/t/re-find-all-activerecord-base-subclasses/99331/5 "2005-12-12T23:19:58Z")

</div>

OK - Here’s my issue  
My Outlook Expres is getting bogged down by the 50,000 or so emails on  
Ruby  
and Rails ml’s.  
I find searching these lists a valuable source of information.  
I tried to search the archives directly, and my impression is the search  
engine was slow and unreliable.

How do you all solve this problem, since it must be a common issue.  
??

Thanks in advance,

John B

---

<div class="post-metadata">

**Author:** ![Andrew\_OSBrien](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/d6d6ee/32.png) [@Andrew\_OSBrien](https://www.ruby-forum.com/u/Andrew_OSBrien)\
**Post date:** [December 13, 2005, 1:25pm UTC](https://www.ruby-forum.com/t/re-find-all-activerecord-base-subclasses/99331/6 "2005-12-13T13:25:20Z")

</div>

John

Give a try to  
[http://www.ruby-forum.com/forum/3](http://www.ruby-forum.com/forum/3)

note: it doesn’t contain the whole archive, as this project started  
recently.

Alain

---

<div class="post-metadata">

**Author:** ![Andrew\_OSBrien](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/d6d6ee/32.png) [@Andrew\_OSBrien](https://www.ruby-forum.com/u/Andrew_OSBrien)\
**Post date:** [December 12, 2005, 10:38pm UTC](https://www.ruby-forum.com/t/re-find-all-activerecord-base-subclasses/99331/7 "2005-12-12T22:38:31Z")

</div>

Kent S. wrote:

> On Monday 12 December 2005 16:02, Andrew O’Brien wrote:
> 
> > Wouldn’t that return the objects of class ActiveRecord::Base instead  
> > of the classes themselves?
> 
> Not necessarily.
> 
> ObjectSpace.each\_object(Class) do |c|  
> p c if c.superclass == ActiveRecord::Base  
> end
> 
> Note that it assumes that all models have been already loaded.
> 
> Kent.

Won’t this miss HappyCustomer \< Customer \< ActiveRecord::Base ?

---

<div class="post-metadata">

**Author:** ![Andrew\_OSBrien](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/d6d6ee/32.png) [@Andrew\_OSBrien](https://www.ruby-forum.com/u/Andrew_OSBrien)\
**Post date:** [December 17, 2005, 1:41pm UTC](https://www.ruby-forum.com/t/re-find-all-activerecord-base-subclasses/99331/8 "2005-12-17T13:41:54Z")

</div>

For offline access you may be able to use Google Desktop  
([desktop.google.com](http://desktop.google.com)).  
It says it has Outlook integration although I haven’t used it myself.

Cheers,  
CL

---

<div class="post-metadata">

**Author:** ![Andrew\_OSBrien](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/d6d6ee/32.png) [@Andrew\_OSBrien](https://www.ruby-forum.com/u/Andrew_OSBrien)\
**Post date:** [December 17, 2005, 1:41pm UTC](https://www.ruby-forum.com/t/re-find-all-activerecord-base-subclasses/99331/9 "2005-12-17T13:41:52Z")

</div>

Try searching on Gmane:

ruby general list: [http://dir.gmane.org/gmane.comp.lang.ruby.general](http://dir.gmane.org/gmane.comp.lang.ruby.general)  
rails list: [http://dir.gmane.org/gmane.comp.lang.ruby.rails](http://dir.gmane.org/gmane.comp.lang.ruby.rails)

Todd
